2017-10-02 4 views
0

백그라운드에서 서버의 .wav 파일을 스트리밍하려고했습니다. 그것은. mp3 오디오 파일과 잘 작동합니다. 그러나 .wav 파일을 재생하려고하면 재생되지 않습니다. 오디오 플레이어를 서비스로 구현했습니다. 다음은이 서비스는 의도에서 오디오 파일의 URL을 전달 mainActivity의 onActivityResult를 호출한다Android 스트리밍 서버의 .wav 오디오 파일이 작동하지 않습니다.

코드

import android.app.Service; 
import android.content.Intent; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.os.IBinder; 
import android.util.Log; 
import android.widget.Toast; 


public class SoundService extends Service implements MediaPlayer.OnPreparedListener { 

private static final String TAG = "MyService"; 
String url; 
MediaPlayer mp; 

public IBinder onBind(Intent intent) { 

    Log.i("OnBind", "Inside OnBind"); 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public void onCreate() { 
    Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show(); 
    Log.i(TAG, "onCreate"); 

    mp = new MediaPlayer(); 
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
} 

@Override 
public void onDestroy() { 
    Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show(); 
    Log.d("Stopping", "onDestroy"); 

    mp.stop(); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startid) { 
    Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show(); 
    Log.i("Starting", "onStart"); 

    url = intent.getExtras().getString("url"); 
    Log.i("Starting2", "onStart2"); 
    try { 
     mp.reset(); 
     Log.i("URLIS",""+url); 
     mp.setDataSource(url); 
     Log.i("Datasource", "datasource"); 
     mp.setOnPreparedListener(this); 
     Log.i("preparedlistener", "PreparedListener"); 
     mp.prepareAsync(); 
     Log.i("prepareasync", "prepareAsync"); 
    } catch(Exception e){} 
    return START_STICKY; 
} 

@Override 
public void onPrepared(MediaPlayer mediaPlayer) { 
    Log.i("onprepared", "insideprepared"); 
    mediaPlayer.start(); 
} 

에게}입니다. 다음과 같이

public void onResponse(String response) { 

      Log.i("Myresponse",""+response); 

      Intent i = new Intent(MainActivity.this, SoundService.class); 
      i.putExtra("url",response); 
      startService(i); 
      Log.i("Myresponse",""+response); 
      Toast.makeText(MainActivity.this, ""+response, Toast.LENGTH_SHORT).show(); 

     } 

내 로그 고양이 .WAV 파일을 스트리밍

10-02 15:00:03.527 27677-27734/com.example.gkrish.momdadme E/MediaPlayer: error (1, -2147483648) 
10-02 15:00:03.534 27677-27677/com.example.gkrish.momdadme E/MediaPlayer: Error (1,-2147483648) 

답변

0

u는 작성한 코드가 정확하고 아마 응답

+0

의 문제가 해결되기 때문에,이 때문이었다 서버의 오류. –

관련 문제