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