gpt4 book ai didi

java - 如何暂停播放并停止来自parse.com(android)的音频文件流?

转载 作者:行者123 更新时间:2023-12-03 01:59:51 25 4
gpt4 key购买 nike

我正在尝试在parse.com的应用程序中播放音频。我能够启动和播放媒体文件,但无法暂停和停止它。这是代码:

ParseQuery<ParseObject> query = ParseQuery.getQuery("Table");
query.getInBackground(ObjId, new GetCallback<ParseObject>() {
public void done(ParseObject recording, com.parse.ParseException e) {
if (e != null) {
//do nothing
}
else {
ParseFile audioFile = recording.getParseFile("Audio");
String audioFileURL = audioFile.getUrl();
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(audioFileURL);
mediaPlayer.prepare();
//mediaPlayer.start();
mediaPlayer.start();

finalTime = mediaPlayer.getDuration();
startTime = mediaPlayer.getCurrentPosition();
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});

最佳答案

您不是在播放实时流,而是在对象内部设置操作后下载对象后播放文件。
public void done(ParseObject recording, com.parse.ParseException e)
并且此方法在另一个线程中执行,这使情况变得非常复杂,您应该首先使用以下命令获取文件:

ParseQuery<ParseObject> query = ParseQuery.getQuery("Table");
ParseObject obj = query.getFirst()
ParseFile audioFile = obj.getParseFile("Audio");
String audioFileURL = audioFile.getUrl();
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

然后实现您的其他功能。

关于java - 如何暂停播放并停止来自parse.com(android)的音频文件流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583847/

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