【发布时间】:2011-04-13 17:22:43
【问题描述】:
我有一个音板应用程序,它在按下按钮时调用音频文件。但是,在按下并播放了大多数按钮后,我开始收到这些媒体播放器错误。有谁知道如何检测它并重新启动或完全阻止它发生?谢谢你的时间。
-科尔比
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
ImageButton button = (ImageButton) findViewById(entry.getKey());
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
int sound = map.get(v.getId());
mp = MediaPlayer.create(myMain.this, sound);
mp.prepare();
} catch (IllegalStateException e) {
} catch (IOException e) {
}
mp.seekTo(0);
mp.start();
}
}
);
}
04-13 10:11:39.873: INFO/MediaPlayer(23152): MediaPlayer start()
04-13 10:11:39.873: 详细/MediaPlayerService(18229): [666] setLooping(0)
04-13 10:11:39.873: 详细/MediaPlayerService(18229): [666] setVolume(1.000000, 1.000000)
04-13 10:11:39.873: VERBOSE/AudioSink(18229): setVolume(1.000000, 1.000000)
04-13 10:11:39.873: 详细/MediaPlayerService(18229): [666] 开始
04-13 10:11:39.873: DEBUG/AwesomePlayer(18229): [U5B] 播放 (556)
04-13 10:11:39.873:调试/AwesomePlayer(18229):[U5B] play_l(562)
04-13 10:11:39.873: VERBOSE/AudioSink(18229): 打开(44100, 1, 1, 4)
04-13 10:11:39.873: 错误/AudioFlinger(18229): 没有更多可用的轨道名称
04-13 10:11:39.873:错误/AudioTrack(18229):AudioFlinger 无法创建轨道,状态:12
04-13 10:11:39.873: 错误/AudioSink(18229): 无法创建音轨
04-13 10:11:39.873: 错误/MediaPlayer(23152): 错误 (-19, 0)
04-13 10:11:39.894: INFO/MediaPlayer(23152): MediaPlayer handleMessage what=5
04-13 10:11:39.894: INFO/MediaPlayer(23152): MediaPlayer handleMessage what=1
04-13 10:11:39.894: INFO/MediaPlayer(23152): MediaPlayer handleMessage what=4
04-13 10:11:42.114: INFO/MediaPlayer(23152): MediaPlayer create()
04-13 10:11:42.114:信息/媒体播放器(23152):媒体播放器
04-13 10:11:42.114: VERBOSE/MediaPlayerService(18229): Client(667) 构造函数
【问题讨论】:
-
考虑使用声音池。你还喜欢这个吗?检查这个answer:
标签: android media-player