こんにちは、 http://code.google.com/p/aacdecoder-android/を使用しています。私の主なアクティビティの完全なコードは次のとおりです。http://pastebin.com/FmaVgfNP戻るボタンを押すと、アプリはオーディオのストリーミングを続けます。これを使用してみました。基本的に、アプリには2つのアクティビティがあります。1つのリストビューで、1つのアイテムをクリックすると、そのステーションのストリームが自動再生されますが、戻るボタンを押すと、ストリームが停止し、作成しようとしました。このようなサービス:
public class MyService extends Service {
private static final String TAG = "AACPlayerActivity";
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show();
Log.d(TAG, "onCreate");
//player = MediaPlayer.create(this, R.raw.braincandy);
//player.setLooping(false); // Set looping
}
@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
Log.d(TAG, "onDestroy");
//player.stop();
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
//player.start();
}
}
私は自分のアクティビティでサービスを構成するためにこのコードを試しました:
startService(new Intent(this, MyService.class));
aacplayerが始まるときの私の主な活動で
それから停止するとき私はこれを置きます:
stopService(new Intent(this, MyService.class));
MyService.class oncreate関数を入れて、ユーザーがmultiPlayer.playAsync( getUrl());
戻るボタンを押してもオーディオストリームがストリーミングされ続けるようにしました。
しかし、私はこのエラーを取得しています:
10-16 02:02:07.760: E/AndroidRuntime(25638): java.lang.RuntimeException: Unable to start service com.spoledge.aacplayer.MyService@41b40ca0 with Intent { cmp=com.spoledge.aacplayer/.MyService }: java.lang.NullPointerException
プレーヤーがオーディオをストリーミングするタイミングがはっきりしないロジックを正しく実行しているかどうかはわかりません。そのアクションをサービスとして登録して、バックグラウンドで保持することができます。
どうもありがとう。