自从我在我的lg智能手机上把我的android -version更新到5.0.2之后,我的mediaplayer就有问题了。
我有一个单独的班级来演奏音乐
public class MediaPlayerService {
public static MediaPlayer mediaPlayer;
private static SoundPool soundPool;
public static boolean isplayingAudio = false;
static int soundID;
public static enum State {
Stopped,
Playing,
}
static State mState = State.Stopped;
public static void playAudioFromMediaPlayer(Context c) {
mediaPlayer = new MediaPlayer();
mediaPlayer = MediaPlayer.create(c, R.raw.hooray);
if (!mState.equals(State.Stopped)) {
mediaPlayer.start();
mState = State.Playing;
}
}
@SuppressWarnings("deprecation")
public static void loadAudioFromSoundPool(Context c, int id) {
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
soundID = soundPool.load(c, SoundList.soundList.get(id), 1);
}
public static void playAudioFromSoundPool() {
soundPool.play(soundID, 1, 1, 0, 0, 1);
}
public static boolean isMediaPlayerPlaying() {
if (mState.equals(State.Playing)) {
return true;
}
return false;
}
public void releaseMediaPlayer() {
if(mediaPlayer != null || mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}
public void releaseSoundPool() {
}
}
我想在Mainactivity上播放一个声音文件
MediaPlayerService.playAudioFromMediaPlayer(getApplicationContext(), soundID);
但是我变成了下面的日志消息:
02-27 12:36:15.829: E/ExtMediaPlayer-JNI(11743): QCMediaPlayer could not be located....
02-27 12:36:15.829: E/MediaPlayer-JNI(11743): QCMediaPlayer mediaplayer NOT present
02-27 12:36:15.854: E/ExtMediaPlayer-JNI(11743): QCMediaPlayer could not be located....
02-27 12:36:15.854: E/MediaPlayer-JNI(11743): QCMediaPlayer mediaplayer NOT present
02-27 12:36:15.908: E/MediaPlayer(11743): Should have subtitle controller already set
02-27 12:36:15.930: E/ExtMediaPlayer-JNI(11743): QCMediaPlayer could not be located....
02-27 12:36:15.930: E/MediaPlayer-JNI(11743): QCMediaPlayer mediaplayer NOT present
02-27 12:36:15.931: E/ExtMediaPlayer-JNI(11743): QCMediaPlayer could not be located....
02-27 12:36:15.931: E/MediaPlayer-JNI(11743): QCMediaPlayer mediaplayer NOT present
02-27 12:36:15.958: E/MediaPlayer(11743): Should have subtitle controller already set
02-27 12:36:15.962: E/MediaPlayer(11743): Should have subtitle controller already set
02-27 12:36:16.018: E/MediaPlayer(11743): Should have subtitle controller already set
对于soundpool,它工作得很好,但在mediaplayer上就不行了。造成这种情况的原因是什么?我如何解决它?
提前感谢并为我的英语而战:)
发布于 2015-08-18 23:47:48
我不认为你的平台支持使用QCMediaPlayer --这就是为什么它会给你所有的错误,你可以通过查看这个源代码找到更多:
如果我是你,我会暂时坚持使用soundpool。
https://stackoverflow.com/questions/28765401
复制相似问题