【问题标题】:How to play Audio file Mp3 from the server [duplicate]如何从服务器播放音频文件 Mp3 [重复]
【发布时间】:2014-01-04 20:31:59
【问题描述】:

我想从实时服务器播放音频。我不想下载这些音频文件。这些文件的格式是 mp3.working on android java。

【问题讨论】:

    标签: android audio media-player http-live-streaming audio-player


    【解决方案1】:
    try {
        MediaPlayer player = new MediaPlayer();
        player.setAudioStreamType(AudioManager.STREAM_MUSIC);
        player.setDataSource("http://xty/MRESC/images/test/xy.mp3");
        player.prepare();
        player.start();    
    } catch (Exception e) {
        // TODO: handle exception
    }
    

    【讨论】:

    • @dipali.Thanks 非常感谢您的代码运行完美,但是在播放音频时再次按下播放按钮然后强制关闭发生。
    • @dipali 我收到一个警告:Activity 没有开始,它的当前任务已经被带到了前面。你能解释一下吗!
    • 假设在uri资源上设置了正确的header,文件会缓存在RAM中还是每次播放时都会下载音频文件?
    【解决方案2】:

    尝试这样做:

    MediaPlayer mp = new MediaPlayer(/*Your-Context*/);
    mp.setDataSource(/*MP3 file's Url*/);
    mp.setOnPreparedListener(new OnPreparedListener(){
    onPrepared(MediaPlayer mp)
    {
    mp.start();
    }
    });
    mp.prepareAsync();
    

    【讨论】:

    • 我们如何在播放时停止音频
    • 停止:mp.stop();并暂停:mp.pause();
    • 如何在 mediaplayer 服务中运行在线 mp3 音频文件
    • 没有像MediaPlayer这样的构造函数 mp = new MediaPlayer(/*Your-Context*/);所以我用了,MediaPlayer mp = new MediaPlayer();然后代码就可以工作了。
    【解决方案3】:

    如果您只是想在默认音乐播放器中打开流(这样您就不必处理实现播放器按钮、继续在后台运行等),您可以使用Intent:

    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.parse("http://example.com/file.mp3"), "audio/mp3");
    startActivity(intent);
    

    如果您当前不在活动中,请使用 getBaseContext().startActivity(intent) 或其他名称,以便您可以在 Context 对象上调用 startActivity()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 2013-02-18
      • 1970-01-01
      相关资源
      最近更新 更多