android - 我的Android音乐播放器怎么了?每次都会在try\catch语句中进行CATCH,为什么?

标签 android audio try-catch android-mediaplayer

我已经完成了Android应用,只需添加一些循环播放的背景音乐即可。这是我播放歌曲的方法

public void playAudio(){
    path = "android.resource://" + getPackageName() + "/" + R.raw.music1;
    //set up MediaPlayer    
    MediaPlayer mp = new MediaPlayer();
    try {
        mp.setDataSource(path);
        mp.prepare();
        mp.setLooping(true);
        mp.setVolume(100, 100);
        mp.start();
    } catch (Exception e) {
        e.printStackTrace();
        Log.d("NOTE WORKEING","NOT WORKING");
    }
}

它不起作用...。每次都会流行,我不知道为什么。请帮我。 Music1是mp3文件。

谢谢

最佳答案

确保您的music1文件为Android可播放的Android格式。

然后只需使用以下代码:

MediaPlayer mediaPlayer = MediaPlayer.create(YourActivity.this, R.raw.music1);
    try {  
        mediaPlayer.setLooping(true); 
        mediaPlayer.setVolume(100, 100);
        mediaPlayer.start(); 
    }
    catch (Exception e) {
        e.printStackTrace(); 
        Log.d("NOT WORKEING","NOT WORKING"); 
    }

您甚至不需要调用prepare()方法。
我用mp3文件进行了测试,效果很好。

关于android - 我的Android音乐播放器怎么了?每次都会在try\catch语句中进行CATCH,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24640910/

相关文章:

angularjs - 在AngularJS中,每个都需要捕获吗?

android - 在屏幕中央对齐控件

javascript - react native : sending events from android to javascript

java - 如何在 selenium 测试中使用 java 代码检测两个 chrome 浏览器窗口之间的音频连接?

iphone - 如何重复UILocalNotification声音

c# - 特定于 Try/Catch

java - Android旋转矩阵不围绕一个点旋转

java - android setText 在 fragment 内延迟

python - 对列表的迭代无法达到我的想象。为什么?

c# - 捕获后继续尝试 block 。在一个 try catch 中记录所有异常