android - 在状态 0 下调用媒体播放器,错误 (-38,0) 错误

标签 android audio error-handling media-player

我正在尝试使用从按钮调用的这段代码,但它不起作用,当我看到 LogCat 窗口时,我发现媒体播放器在状态 0 下调用,错误 (-38,0)

public void audioPlayer(String path, String fileName){

//set up MediaPlayer    
        MediaPlayer mp = new MediaPlayer();

        try {
            mp.setDataSource(HeyActivity.this, Uri.parse(path+"/"+fileName));
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            mp.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            System.out.print("hey");
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        mp.start();

    }

最佳答案

尝试设置OnPreparedListener并调用其中的start方法。像这样:

MediaPlayer mp = new MediaPlayer();
mp.setOnPreparedListener( new OnPreparedListener() {

    public void onPrepared(MediaPlayer mp) {
        mp.start();
    }
}; 
);

关于android - 在状态 0 下调用媒体播放器,错误 (-38,0) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9016765/

相关文章:

android - ClassCastException android.widget.AbsListView$LayoutParams 到 android.widget.GridLayout$LayoutParams 此异常是否特定于 API 级别?

python - 函数内的Python错误调用函数

sql - TRY...CATCH 似乎不起作用

android 没有得到正确的时间戳

java - 加载远程 Java 类

java - Android 权限保护级别 18 和 50

c# - Windows RT中的音乐笔记

ios - 在 iPhone 7 的顶部和底部扬声器之间平移声音

python - 一旦音量低于python-sounddevice的阈值,停止记录

.net - 尝试安装 '5.0.0'的 'EntityFramework'版本,但项目已包含其他版本