-1
我一直在這方面停留太久了。在我的主菜單屏幕中,我有一個靜音按鈕。我希望它在我的後臺服務中調用一個方法,將後臺播放的所有MediaPlayer音頻靜音。如何修復聲音?
在這裏,我呼籲從我MAIN_MENU靜音(X開始爲0):
if ((x%2) == 0) { //If it's even
TwentySeconds.unMute();
Toast.makeText(Main_Menu.this, "UNMUTED", Toast.LENGTH_SHORT).show();
x++;
} else { //If its odd
TwentySeconds.myMute();
Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show();
x++;
}
下面是在服務中的方法,實際上做的靜音:
public static void myMute() {
ten.setVolume(0, 0);
three.setVolume(0, 0);
}
public static void unMute() {
ten.setVolume(1, 1);
three.setVolume(1, 1);
}
下面是實際媒體播放器,間隔播放:
static MediaPlayer ten;
static MediaPlayer three;
問題是,我得到一個空指針exce ption這裏:
TwentySeconds.myMute();
和 ten.setVolume(0,0);
順便說,經理被實例化,像這樣:
AudioManager manager;
,稍後:
manager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
下面是一些可能導致該問題:
我無論何時播放音頻(播放良好)都會收到錯誤:
QCMediaPlayer mediaplayer NOT present
E/MediaPlayer﹕ Should have subtitle controller already set
我真的很感激任何反饋(正面或負面)! 讓我知道你是否需要更多的代碼。
二十秒是類名,十是該類中的mediaPlayer。我應該如何在一個單獨的類中初始化這兩個?感謝您的答覆! –
我怎樣才能知道TwentySeconds是你的班級名稱,你沒有完全提供你的代碼,男人:) – dauruy
你是對的,我很抱歉。這裏是鏈接: –