gpt4 book ai didi

Android 媒体播放器 IllegalStateException

转载 作者:行者123 更新时间:2023-11-30 03:27:39 25 4
gpt4 key购买 nike

我正在尝试在 Android 编程中使用 MediaPlayer 在 Eclipse 中播放音频文件。我需要运行保存在计算机硬盘上的音频文件(.wav 或 .mp3)。我尝试了很多东西。我也尝试将文件复制到项目的 res 文件夹中,但没有任何效果。下面是我的代码。如您所见,我尝试了很多方法并评论了一些。我之前第一次收到 IOException。但是在使用 MediaPlayer.create() 之后,我得到了 IllegalStateException。任何帮助将不胜感激。

public void playSound(MainActivity mainActivity){
System.out.println("in playsound");
MediaPlayer mp = null;
FileInputStream fis = null;

try {
//fis = new FileInputStream("C:\\Users\\Anupam-PC\\Downloads\\trailsoundfilerecordings\\jagmeet.wav");

//mp.setDataSource(fis.getFD());
System.out.println("inside try");
//mp.setDataSource("/res/raw/hai.wav");
//mp.setDataSource("C:\\Users\\Anupam-PC\\Downloads\\trailsoundfilerecordings\\jagmeet.wav");
//mp.setDataSource("android.resource://com.example.texttospeech/agreji.mp3");
//mp.setDataSource("agreji.mp3");

mp = MediaPlayer.create(mainActivity, R.raw.hai);
System.out.println("after DS");
mp.prepare();
System.out.println("after prepare");
mp.start();

// fis.close();
} catch (Exception e) {
System.out.println(e);
} finally{
try{
fis.close();
} catch (Exception e){

}
}

最佳答案

你不需要实现mp.prepare();,你有create(/**/)

这是我的例子,非常有效:

class Vulcan implements MediaPlayer.OnPreparedListener{

MediaPlayer mediaPlayer = null;
...

boolean isPrepearedToPlayAudio = false;

mediaPlayer=MediaPlayer.create(context,R.raw.mini_vulcan_gun_1);

mediaPlayer.setOnPreparedListener(this);


public void stop(){

mediaPlayer.pause();
}


public void start(){

if(isPrepearedToPlayAudio){
mediaPlayer.start();
mediaPlayer.setLooping( true );
}
}


@Override
public void onPrepared(MediaPlayer mp) {
isPrepearedToPlayAudio = true;
}

关于Android 媒体播放器 IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com