嗨,我正在使用http://code.google.com/p/aacdecoder-android/这里是我的主要活动完整代码: http: //pastebin.com/FmaVgfNP但现在我想将该应用程序放在后台,所以当人们按下后退按钮应用程序保持流式传输音频我尝试使用这个:基本上该应用程序有两个活动一个列表视图然后当我单击一个项目时它会自动播放该站的流但是当我按下返回按钮时我的流停止,我试图创建一个像这样的服务:
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
我不知道我的逻辑是否正确我不太清楚我的播放器何时流式传输音频我可以将该操作注册为服务,以便它保持在后台。
非常感谢。