Bluetooth からのデータを処理して 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フォーラムからクロスポスト)