Проблема с несколькими экземплярами функции - PullRequest
1 голос
/ 13 января 2010

Я провел музыкальную викторину, похожую на ту, что была в iPod, все работает идеально, пока моя программа не вызовет класс MP3 (http://pastebin.com/d52fe24ce) для остановки с помощью функции close (). Проблема в моем случае заключается в том, что при вызове MP3 не «создается». Я не уверен, но думаю, что это потому, что созданный мною игрок не равен нулю (см. Main.java http://pastebin.com/d32ef2c06 вокруг строки 261), хотя на самом деле «экземпляра» игрока нет ... Идея, как я могу заставить игрока закрыть поток?

Ответы [ 2 ]

1 голос
/ 13 января 2010

Строка 283:

MP3 player = new MP3(((SongQuestion)question).getSongPath());

должно быть:

player = new MP3(((SongQuestion)question).getSongPath());

Используется MP3-плеер уровня экземпляра. То, что вы делаете сейчас, создает новый локальный MP3 player, который маскирует экземпляр первого уровня.

1 голос
/ 13 января 2010

В строке 283 вы говорите:

 MP3 player = new MP3...

Здесь вы создаете новую локальную переменную. Удалите первый «MP3», чтобы новый игрок был назначен на поле player:

player = new MP3...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...