流媒体播放器将无法与三星Galaxy S3配合使用



流媒体播放器无法在三星galaxy s3上运行。我自己没有这个设备,但收到了它不工作的报告。也尝试过远程测试实验室,但不起作用。我已经在许多其他设备上进行了测试,除了s3之外,所有的工作都进行了测试。任何帮助都会很棒!

代码:

public class Radio extends Activity {
private MediaPlayer mp;
private ImageButton pauseicon;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.player_1);
    Toast.makeText(this, "Just one moment please", Toast.LENGTH_LONG).show();
    pauseicon = (ImageButton) findViewById(R.id.pauseicon);
    getActionBar().setDisplayHomeAsUpEnabled(true);
    /**
     * Play button click event plays a song and changes button to pause
     * image pauses a song and changes button to play image
     * */
    String res = "http://************";
    mp = new MediaPlayer();
    try {
        mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mp.setDataSource(res);
        mp.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer player) {
                mp.start();
            }
        });
        mp.prepareAsync();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
    }

    pauseicon.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO Auto-generated method stub
            // No need to check if it is pauseicon
            if (mp.isPlaying()) {
                mp.pause();
                ((ImageButton) v).setImageResource(R.drawable.playicon);
            } else {
                mp.start();
                ((ImageButton) v).setImageResource(R.drawable.pauseicon);
            }
        }
    });
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        if (mp != null)
            if (mp.isPlaying())
                mp.stop();
        mp.release();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}
@Override
public void onBackPressed() {
    if (mp != null) {
        if (mp.isPlaying())
            mp.stop();
        mp.release();
    }
    // there is no reason to call super.finish(); here
    // call super.onBackPressed(); and it will finish that activity for you
    super.onBackPressed();
}
  }

这就是我为播放流媒体音乐所做的,刚刚在三星Galaxy SIII上测试过,它运行良好。这里的音频流是公立大学的广播流。但这应该与其他在线流媒体配合使用。只需确保您在清单中启用了internet权限。

public class MainActivity extends Activity {
MediaPlayer mpMediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    try{
    mpMediaPlayer = new MediaPlayer();
    mpMediaPlayer.setDataSource("http://streams.tsc.usu.edu:8888");
    mpMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mpMediaPlayer.prepare();
    mpMediaPlayer.start();
    }catch(Exception e){
        e.printStackTrace();
    }
}

这可能有点晚,但对于那些正在寻找答案的人来说,一个解决方案可能是实现MediaPlayer.OnPreparedListener.

public class MyActivity extends Activity implements MediaPlayer.OnPreparedListener
    MediaPlayer mpMediaPlayer;
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        try{
            mpMediaPlayer = new MediaPlayer();
            mpMediaPlayer.setDataSource("audio url");
            mpMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mpMediaPlayer.prepare();
            mpMediaPlayer.setOnPreparedListener(this);

        }catch(Exception e){
            e.printStackTrace();
            Log.e(TAG, "Error loading media");
        }
    }
@Override
    public void onPrepared(MediaPlayer mp) {
        mpMediaPlayer.start();
    }

最新更新