【发布时间】:2013-06-30 03:43:59
【问题描述】:
我正在使用 Processing 2.0 为 Android 设备开发应用程序,现在我有 playMP3();功能,但需要使用 stopMP3(); 停止声音。我尝试了所有方法,但加载 mp3 和播放/停止使用处理的最佳方法是什么?, snd.stop();内stopMP3功能不起作用...
import android.media.*;
import android.content.res.*;
...
MediaPlayer snd;
...
void setup()
{
MediaPlayer snd = new MediaPlayer();
}
...
void playMP3()
{
try {
AssetManager assets = this.getAssets();
AssetFileDescriptor fd = assets.openFd("loop1.mp3");
snd.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
snd.prepare();
snd.start();
snd.setLooping(true);
}
catch (IllegalArgumentException e) {
e.printStackTrace();
}
catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
void stopMP3(){
????
}
【问题讨论】:
-
你在哪里调用 stop()?您是否尝试过使用按钮确保 mp3 至少在您执行停止之前已启动?
-
你可以创建 OnCompletionListener 并在音乐结束时停止,或者创建一个按钮在用户点击时调用 snd.stop()
-
@eskimoapps.com 我在 playMP3() 函数之前有一个按钮,用于启动声音循环。但是不知道如何在stop函数里面停止它,可能手机上有一个命令从内存中删除声音或变量,不知道。提前谢谢你
-
@Leon_SFS 我已经有一个调用 playMP3() 函数的按钮和一个也调用 stopMP3() 函数但不知道最后一个函数中可能包含什么代码的 if 语句。感谢您的帮助
-
@DavidVera 我写了停止函数! snd.stop();snd.release();snd.reset();把这些代码写在你的stopmp3函数里,sns就是你的MediaPlayer变量名---这就是你想要的吗?
标签: android audio mp3 processing