0
我正在构建一个简单的音乐应用程序。mediaplayer目前的位置总是为零
无论我尝试什么,我都无法让歌曲停下来播放新歌。我试着停止,释放,停止并一起释放;我创建了一个服务;我甚至试图用当前位置来获得Mp3的位置,如果位置大于1,就考虑播放它。
但是没有任何工作,我正试图弄清楚这一点。
我为此工作了5天,并且在我所投入的所有内容上都失败了。
我将不胜感激任何建议和明确的解决方案。
我是一个noob,我正在努力解决自己的问题,但这只是让我难住。
import android.app.Service;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;
import java.io.IOException;
public class MyService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
MediaPlayer mediaplayer;
mediaplayer = new MediaPlayer();
mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
String extRec = intent.getExtras().getString("extRec");
Log.d("My Service", "Received extra: " + extRec);
if (mediaplayer.isPlaying()){
Log.d("My Service is playing ", "yes");
}
else {
Log.d("My Service is playing ", "no");
}
//mediaplayer.stop();
//mediaplayer.release();
try {
final String AudioURL = extRec;
Log.d("My Service audioURL ", AudioURL);
mediaplayer.setDataSource(AudioURL);
mediaplayer.prepare();
Log.d("My Service", "position: " + mediaplayer.getCurrentPosition());
mediaplayer.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return START_STICKY;
}
}
你之前'开始调用'getCurrentPosition()'()'方法,所以你是什么期望目前的位置? – pskink