2013-12-12 28 views
1

我開發了一個音樂應用程序,從一個URL流。看來工作在WiFi連接正常,但播放/暫停按鈕是 -流動音樂在Android使用移動數據,而不是WiFi

private OnClickListener TumHiHo = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     if (!playPauseTumHiHo) { 
      tumhihobtn.setBackgroundResource(R.drawable.button_pause); 
      if (initialStartTumHiHo) 
      { mediaPlayer.stop(); 
      mediaPlayer.reset(); 
      initialStartSunRahaHaiNa=true; 
      initialStartTumHiHo=false; 
      new Player() 
         .execute("http://sound30.mp3slash.net/indian/aashiqui2/[Songs.PK]%20Aashiqui%202%20-%2001%20-%20Tum%20Hi%20Ho.mp3"); 
      loadDocTumHiHo(); 
      chkStatus(); 

      }else { 
       if (!mediaPlayer.isPlaying()) 
        mediaPlayer.start(); 
      } 
      playPauseTumHiHo = true; 
     } else { 
      tumhihobtn.setBackgroundResource(R.drawable.button_play); 
      if (mediaPlayer.isPlaying()) 
       mediaPlayer.pause(); 
      playPauseTumHiHo = false; 
     } 
    } 
}; 

的chkStatus()是測試是否在移動3G不緩衝(即歌不玩了)。該代碼中onClickListener用戶正在使用移動數據或WiFi。

清單文件已─

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

顯示的logcat的是原樣

12-12 22:22:23.906: V/MediaPlayer(400): stop 
12-12 22:22:23.906: E/MediaPlayer(400): stop called in state 0 
12-12 22:22:23.906: V/MediaPlayer(400): message received msg=100, ext1=-38, ext2=0 
12-12 22:22:23.906: E/MediaPlayer(400): error (-38, 0) 
12-12 22:22:23.906: V/MediaPlayer(400): callback application 
12-12 22:22:23.906: V/MediaPlayer(400): back from callback 
12-12 22:22:23.906: V/MediaPlayer-JNI(400): reset 
12-12 22:22:23.906: V/MediaPlayer(400): reset 
12-12 22:22:49.171: V/MediaPlayer-JNI(400): stop 
12-12 22:22:49.176: V/MediaPlayer(400): stop 
12-12 22:22:49.176: E/MediaPlayer(400): stop called in state 1 
12-12 22:22:49.176: V/MediaPlayer(400): message received msg=100, ext1=-38, ext2=0 
12-12 22:22:49.176: E/MediaPlayer(400): error (-38, 0) 
12-12 22:22:49.176: V/MediaPlayer(400): callback application 
12-12 22:22:49.176: V/MediaPlayer(400): back from callback 
12-12 22:22:49.176: V/MediaPlayer-JNI(400): reset 
12-12 22:22:49.176: V/MediaPlayer(400): reset 
12-12 22:22:49.241: W/ResourceType(400): Failure getting entry for 0x010802c1 (t=7 e=705) in package 0 (error -75) 
12-12 22:22:49.251: D/dalvikvm(400): GC_CONCURRENT freed 55K, 11% free 10620K/11847K, paused 16ms+7ms, total 51ms 
12-12 22:22:49.306: V/MediaPlayer(400): setVideoSurfaceTexture 
12-12 22:22:49.306: V/MediaPlayer(400): prepare 
12-12 22:22:52.266: V/MediaPlayer(400): message received msg=100, ext1=1, ext2=-1004 
12-12 22:22:52.266: E/MediaPlayer(400): error (1, -1004) 
12-12 22:22:52.266: V/MediaPlayer(400): signal application thread 
12-12 22:22:52.266: V/MediaPlayer(400): prepare complete - status=1 
12-12 22:22:52.281: W/System.err(400): java.io.IOException: Prepare failed.: status=0x1 
12-12 22:22:52.281: W/System.err(400): at android.media.MediaPlayer.prepare(Native Method) 
12-12 22:22:52.291: W/System.err(400): at com.bignerdranch.android.lyrischemusik1.MusikActivity4$Player.doInBackground(MusikActivity4.java:235) 
12-12 22:22:52.291: W/System.err(400): at com.bignerdranch.android.lyrischemusik1.MusikActivity4$Player.doInBackground(MusikActivity4.java:1) 
12-12 22:22:52.296: W/System.err(400): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
12-12 22:22:52.296: W/System.err(400): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
12-12 22:22:52.296: W/System.err(400): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
12-12 22:22:52.296: W/System.err(400): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
12-12 22:22:52.296: W/System.err(400): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
12-12 22:22:52.296: W/System.err(400): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
12-12 22:22:52.301: W/System.err(400): at java.lang.Thread.run(Thread.java:856) 
12-12 22:22:52.346: D/Prepared(400): //false 
12-12 22:22:52.346: V/MediaPlayer-JNI(400): start 
12-12 22:22:52.346: V/MediaPlayer(400): start 
12-12 22:22:52.346: E/MediaPlayer(400): start called in state 0 
12-12 22:22:52.346: V/MediaPlayer(400): message received msg=100, ext1=-38, ext2=0 
12-12 22:22:52.346: E/MediaPlayer(400): error (-38, 0) 
12-12 22:22:52.346: V/MediaPlayer(400): callback application 
12-12 22:22:52.346: V/MediaPlayer(400): back from callback 
12-12 22:22:52.401: E/MediaPlayer(400): Error (-38,0) 
12-12 22:22:52.406: V/MediaPlayer-JNI(400): stop 
12-12 22:22:52.406: V/MediaPlayer(400): stop 
12-12 22:22:52.406: E/MediaPlayer(400): stop called in state 0 
12-12 22:22:52.406: V/MediaPlayer(400): message received msg=100, ext1=-38, ext2=0 
12-12 22:22:52.406: E/MediaPlayer(400): error (-38, 0) 
12-12 22:22:52.406: V/MediaPlayer(400): callback application 
12-12 22:22:52.406: V/MediaPlayer(400): back from callback 
12-12 22:22:52.406: V/MediaPlayer-JNI(400): reset 
12-12 22:22:52.406: V/MediaPlayer(400): reset 

我不知道這個問題是否與我的移動網絡或應用程序。如果是應用程序,請告訴我哪裏可能會出錯。提前致謝。

回答

0

嘗試用你的方法替換此代碼

new Player().execute("http://sound30.mp3slash.net/indian/aashiqui2/[Songs.PK] Aashiqui 2 - 01 - Tum Hi Ho.mp3");