当前位置: 首页 > 知识库问答 >
问题:

Android MediaPlayer不会从URL播放音乐

茹航
2023-03-14

我有一个服务器端的webapp,提供文件上传和下载功能和一个Android应用程序,上传音乐文件到网站上,然后通过一些URL请求上传文件。

private void startPlaying(Uri fileUri) {
    mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

    try {
        mediaPlayer.setDataSource(this, fileUri);
        mediaPlayer.prepareAsync();
        mediaPlayer.setOnPreparedListener(preparedPlayer -> preparedPlayer.start());
    }
    catch (IOException e) {
        LogUtil.loge(LOG_TAG, e);
        stopPlaying();
        return;
    }

    mediaPlayer.setOnCompletionListener(mp -> stopPlaying());
}

private void stopPlaying() {
    if (mediaPlayer == null) { return; }
    mediaPlayer.stop();
    mediaPlayer.reset();
    mediaPlayer.release();
    mediaPlayer = null;
}

有什么建议吗?

共有1个答案

虞博涛
2023-03-14

如果你想从URL播放音乐,你必须输入一个字符串参数。

更改为:

private void startPlaying(String url) {

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

    try {
        mediaPlayer.setDataSource(url);
        mediaPlayer.prepareAsync();
        mediaPlayer.setOnPreparedListener(preparedPlayer -> preparedPlayer.start());
    }
     catch (IOException e) {
        LogUtil.loge(LOG_TAG, e);
        stopPlaying();
        return;
    }

    mediaPlayer.setOnCompletionListener(mp -> stopPlaying());
}
 类似资料:
  • 当我尝试播放我的音乐时,Discord机器人不会播放音乐。它使用ytdl核心和ffmpeg。我的代码是: 每当我尝试播放歌曲时,都会发生以下错误: (节点:5180)未处理的PromisejectionWarning:错误:找不到FFmpeg/avconv!在功能上。getInfo(C:\Users\picar\Desktop\DiscordMusicBot\node\u modules\pris

  • 我正在开发一个包含一些音频播放器的RecyclerView的应用程序。应用程序将下载。3gp文件(如果尚未下载)。 当我单击playAudio按钮时,音频未被播放。 这是我的适配器代码: 我怎样才能解决这个问题?

  • 问题内容: 我正在尝试使用pygame播放声音文件(.wav),但是当我启动它时却听不到任何声音。 这是代码: 我也尝试使用频道,但结果是一样的 问题答案: 您的代码在我的机器上可以正常运行(Mac OSX 10.5,Python 2.6.4,pygame 1.9.1)。您正在使用哪些OS,Python和pygame版本?您是否可以通过其他方式(例如,在Mac的终端上或在Windows控制台上,然

  • 问题内容: 以下代码为什么不播放声音?它为play()返回“ true”,但我听不到任何声音。 如果我改用以下代码,则可以听到声音。 OS X优胜美地10.10.3 Xcode 6.2 问题答案: 问题是,您的AVAudioPlayer是一个 局部变量 。因此,它会立即不复存在-在开始播放之前,更不用说完成播放了。 解决方案:改为将其设置为 属性 ,以使其 持久存在 。

  • 问题内容: 我收到mp3网址作为api调用的响应。我想播放该音频,那么我该怎么做?(iOS迅速) 这是我的回应 这是我的代码:: 我要去哪里错了? 问题答案: 我尝试了以下方法 添加以下方法, 和您的播放方法一样, 下载mp3文件,然后尝试播放,但AVAudioPlayer无法以某种方式为您下载mp3文件。我可以下载音频文件,然后播放器播放它。 请记住,将其添加到info.plist中,因为您是从

  • 问题内容: 我正在尝试编写一个将从Soundcloud URL播放mp3的python脚本 这是我已经做的: 我尝试了许多选项,例如更改格式,频道,费率。而且我只是从扬声器中听到奇怪的声音,我搜索了Google以播放mp3,但没有找到任何信息。 我尝试通过传递mp3中的字节来创建对象,然后仅执行play函数。我没有收到任何错误:脚本正在运行,但没有任何播放。 我正在使用Python 3和Ubunt