使用的javax.microedition.media.Player当应用程序崩溃与异常
-
12-09-2019 - |
题
我有从蓝牙处理数据并将其发送到web服务的应用程序。最近有对声音添加到应用程序的请求。现在,当应用程序处理数据的批次和玩家在几秒钟我得到后不断播放着“应用程序没有响应”异常。然后该过程被终止。在日志中我可以看到很多此异常后记录ForcedStackTrace异常。
在声音在单独的线程上播放。如果应用程序不播放声音或播放短的声音 - 一切正常。有什么办法避免这种情况发生的异常?为什么会发生?
InputStream mediaStream = null;
try {
mediaStream = getClass().getResourceAsStream(relativePath);
getLogger().log("setting player _ " + _audioType);
setPlayer(Manager.createPlayer(mediaStream, _audioType));
_currentPlayer.addPlayerListener(this);
_currentPlayer.setLoopCount(1);
_currentPlayer.realize();
VolumeControl vc = (VolumeControl) _currentPlayer
.getControl("VolumeControl");
if (vc != null) {
vc.setLevel(_voumeLevel);
}
_currentPlayer.prefetch();
_currentPlayer.start();
} catch (Exception e) {
}
(从BB论坛crossposted)
解决方案
通过实施自己PlayerManager,其中,在单独的线程中运行将在队列方式而不是使用内部Player实施具有许多线程播放的项解决。
不隶属于 StackOverflow