java - Android:无法从给定的 url 播放 mp3 文件

标签 java android url android-emulator media-player

我想了解 android 媒体播放器。我设计了一个媒体播放器,当我在我的平板电脑上测试时选择播放按钮时,它会获取 url 并播放歌曲,如果我选择该按钮,它无法正常工作,它不会播放或给出错误,既不会发生崩溃.

我有一个问题,在研究时是否需要像示例中的身份验证我看到了 android.drm 等,因为我正在将 url 链接到服务器

谁能帮帮我

我已经发布了代码,我什至还使用了 logcat 详细信息。 logcat 会告诉我 GPU,所以我也在我的平板电脑上进行了测试,但我仍然无法收听 mp3 文件

public class MainActivity extends Activity
{
static final String AUDIO_PATH = "url";
private MediaPlayer mediaPlayer;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

public void doClick(View view) {
    switch(view.getId()) {
    case R.id.play:
        try {
          playAudio(AUDIO_PATH);

        } catch (Exception e) {
            e.printStackTrace();
        }
        break;

    case R.id.stop:
        if(mediaPlayer != null) {
            mediaPlayer.stop();

        }
        break;
    }
}

private void playAudio(String url) throws Exception
{
    killMediaPlayer();

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setDataSource(url);
    mediaPlayer.prepare();
    mediaPlayer.start();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    killMediaPlayer();
}

private void killMediaPlayer() {
    if(mediaPlayer!=null) {
        try {
            mediaPlayer.release();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
}}   

main.xml文件如下图

<EditText
    android:id="@+id/EditTextSongURL"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.54"
    android:ems="10"
    android:inputType="textMultiLine" >

    <requestFocus />
</EditText>

<ImageButton
    android:id="@+id/ButtonTestPlayPause1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/play" />

<SeekBar
    android:id="@+id/SeekBarTestPlay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

在 logcat 中没有错误,不包括 Gpu enter image description here

最佳答案

MediaPlayer mediaPlayer = new MediaPlayer();

mp.setDataSource(context, Uri.parse("http://www.domian.com/ola.mp3"));
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.prepare();

mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {

            mp.start();
        }
    });
    mediaPlayer.setOnErrorListener(new OnErrorListener() {
        @Override
        public boolean onError(MediaPlayer mp, int what, int extra) {
             // Display error
            return false;
        }
    });

关于java - Android:无法从给定的 url 播放 mp3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23268430/

相关文章:

java - Java中的多维数组(或其他结构)

android - android viewmodel 在哪个线程中运行?

c# - Uri 类不能正确转换特殊字符

javascript - For 循环打开 url

java - 启动 android studio 时未正确指定 vm 选项

java - 我们可以将 java .class 转换为 .java 文件吗?那么 java 是如何被称为安全语言的呢?

android - 如何在 TextView 中返回默认字体

android - 如何检查物体是否在 corona sdk 中向下加速?

java - 在java中使用正则表达式查找和替换url

Java 字符串与枚举的匹配