私は現在、Manager.createPlayer(InputStream is、String mimeType)を使用してオーディオプレーヤーを作成するプロジェクトに取り組んでいます。
オーディオプレーヤーはエミュレーターで完全に機能します。Nokia C3では、アプリの起動後にオーディオ/ mpegトラックを再生できますが、同じ/他のオーディオを再度再生しようとすると失敗します。メッセージのプリフェッチ時に、「メディアデータのフェッチに失敗しました」がキャッチされます。
プレーヤーを初めて開くときは、通常のライフサイクル(実現、プリフェッチ、開始)が実行されます。トラックが終了すると、停止、割り当て解除、クローズされます。別のオーディオトラックに対してプロセスが繰り返される前に、プレーヤーはnullに設定されます。
何か案は?
これは、プレーヤーの作成に使用されるコードのサンプルです。
public static Player play(PlayerListener listener, InputStream is, String[] mimeTypes) {
Player player = null;
for (int i = 0; i < mimeTypes.length; i++) {
try {
player = Manager.createPlayer(is, mimeTypes[i]);
player.realize();
player.prefetch();
player.addPlayerListener(listener);
player.start();
Log.write("started - " + mimeTypes[i]);
break;
} catch (Exception e) {
Log.write("player fail (" + mimeTypes[i] + "): " + e.getMessage());
player = null;
} catch (Throwable e) {
Log.write("player fail (" + mimeTypes[i] + "): " + e.getMessage());
player = null;
}
}
return player;
}