【发布时间】:2015-10-02 12:57:42
【问题描述】:
我正在尝试通过单击按钮在 android 小部件中播放声音,这是我当前的代码:
@Override
public void onReceive(Context context, Intent intent) {
Boolean hasToPlayMedia = false;
MediaPlayer mediaPlayer = new MediaPlayer();
if (intent.getAction().equals("somevalue")) {
mediaPlayer = MediaPlayer.create(context, R.raw.somevalue);
hasToPlayMedia = true;
// OTher conditionals here
}
if (hasToPlayMedia) {
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.start();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mp.reset();
mp.release();
mp = null;
}
});
}
super.onReceive(context, intent);
}
但是,在控制台中我读到:
E/MediaPlayer﹕ Should have subtitle controller already set
W/MediaPlayer-JNI﹕ MediaPlayer finalized without being released
有时单击按钮后一段时间后不会播放声音。
【问题讨论】:
标签: android widget android-widget android-mediaplayer