Android:播放许多短媒体文件
Posted
技术标签:
【中文标题】Android:播放许多短媒体文件【英文标题】:Android: playing many short media files 【发布时间】:2012-12-14 01:18:19 【问题描述】:我正在编写一个程序来播放大约 1000 个以“原始”格式存储的短媒体文件。我的程序很简单。每次单击按钮时,它都会播放一个新的媒体文件。媒体文件的名称是从数组列表中读取的,我正在使用 MediaPlayer
这是我点击按钮时的代码(只有一个按钮):
@Override
public void onClick(View arg0)
i++;
String fileName=soundArray.get(i);
int soundID=getResources().getIdentifier(fileName, "raw", getPackageName());
if(soundID>0)
MediaPlayer mySound=MediaPlayer.create(getApplicationContext(),soundID);
mySound.start();
此代码在前两个或三个按钮单击时运行良好。之后,它就崩溃了。您认为我的代码有问题吗?我应该使用 SoundPool 吗?
【问题讨论】:
你的代码可能不完整,你应该修复你的代码,我认为它错过了循环控制:) 没有循环我们无法判断是否会崩溃。此时您的代码似乎很好 你们说的循环控制是什么意思? 【参考方案1】:在启动媒体播放器之前使用 prepare()
mySound.prepare();
【讨论】:
播放1、2个声音还是崩溃 请粘贴您的 logcat 报告D/androidRuntime(1841): Shutting down VM W/dalvikvm(1841): threadid=1: thread exiting with uncaught exception (group=0x4001e578) E/AndroidRuntime(1841): FATAL EXCEPTION: main E/AndroidRuntime(1841): java.lang.NullPointerException ...
以上是关于Android:播放许多短媒体文件的主要内容,如果未能解决你的问题,请参考以下文章