使用 MediaPlayer 播放 mp3 文件

Posted

技术标签:

【中文标题】使用 MediaPlayer 播放 mp3 文件【英文标题】:Play mp3 file using MediaPlayer 【发布时间】:2012-12-19 06:41:27 【问题描述】:

当我使用MediaPlayer播放mp3文件时,系统会报错log:Prepare failed: status=0xFFFFFF8E。但是Realplayer是正常的。

我发现它只有在更高的ROM版本中才会出现错误。就像在 version4.0 中一样,它有错误。 version2.3 没有这个错误。

代码:

private MediaPlayer mpBack = null;
/**
 * read in background sound from the resource file 
 * @param resId
 */
public void MediaPlay(int resId)
if(!isPlaying())
mpBack = MediaPlayer.create(ctMedia, resId);
/**Volume Set */
mpBack.setVolume(0.8f, 0.8f);   
/**Background music default infinite loop*/
mpBack.setLooping(true);    
mpBack.start();


LogCat 错误:

12-18 21:51:57.380: E/MediaPlayer(31457): mOnVideoSizeChangedListener is null. Failed to send MEDIA_SET_VIDEO_SIZE message.

12-18 21:51:57.380: E/MediaPlayer(31457): mOnPreparedListener is null. Failed to send MEDIA_PREPARED message.

【问题讨论】:

我有同样的问题,下面的建议不起作用。你解决了吗? 【参考方案1】:

使用

mpBack.prepare();

在你启动媒体播放器之前

【讨论】:

MediaPlayer.create 自动调用prepare。见developer.android.com/reference/android/media/…, int)【参考方案2】:

试试这个:

mpBack = new MediaPlayer().create(context, R.raw.blah);

【讨论】:

以上是关于使用 MediaPlayer 播放 mp3 文件的主要内容,如果未能解决你的问题,请参考以下文章

MediaPlayer 在 mp3 播放开始时卡顿

Android, Mediaplayer mp3, 令人不安的声音

使用OpenSL直接播放mp3

使用OpenSL直接播放mp3

使用OpenSL直接播放mp3

使用MediaPlayer播放音频文件