当前位置: 首页 > 面试题库 >

mediaPlayer错误-38,0

琴修为
2023-03-14
问题内容

我尝试做简单的在线广播播放器。这是流的地址http://radio-electron.ru:8000/96这是我的代码。

MyActivity.java

package com.example.untitled2;

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import java.io.IOException;

public class MyActivity extends Activity {

    MediaPlayer mediaPlayer;
    Button playButton;


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

    @Override
    public void onStart() {
        super.onStart();
    }

    @Override
    public void onResume() {
        super.onResume();
        mediaPlayer = new MediaPlayer();
        playButton = (Button)findViewById(R.id.button);

        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(mediaPlayer.isPlaying())
                    mediaPlayer.stop();
                else {
                    try {

                        mediaPlayer.setDataSource(getApplicationContext(), Uri.parse("http://radio-electron.ru:8000/96"));
                        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                        mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
                            @Override
                            public boolean onError(MediaPlayer mediaPlayer, int i, int i2) {
                                Toast.makeText(getApplicationContext(), "ERROR " + i, Toast.LENGTH_LONG).show();
                                playButton.setEnabled(false);
                                Log.d("radio", "error " + i + " " + i2);
                                return false;  //To change body of implemented methods use File | Settings | File Templates.
                            }
                        });
                        mediaPlayer.prepareAsync();
                    }
                    catch (IOException e) {
                        Toast.makeText(getApplicationContext(), "ERROR " + e, Toast.LENGTH_LONG).show();
                        Log.d("radio", "error " + e);
                    }
                    mediaPlayer.start();
                }
            }
        });
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
        >
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button"
            android:layout_gravity="center"/>
</FrameLayout>

我不知道为什么我得到-(38,0)代码,这是什么意思。我使用Intellij IDEA,并在Android
2.3和4.2模拟器上尝试此代码,但遇到了一些问题。


问题答案:

-38引用errno.h中的ENOSYS错误代码

您似乎尝试在准备工作完成之前开始播放。使用该
setOnPreparedListener()方法设置准备侦听器,并start()仅在准备完成后才调用该方法。

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
  public void onPrepared(MediaPlayer mp) {
      mp.start();
  }
});
mediaPlayer.prepareAsync();

mediaPlayer.start()从代码中删除当前调用。



 类似资料:
  • 我对JavaFXMediaPlayer有问题。出于测试目的,我从http://docs.oracle.com/javafx/2/media/playercontrol.htm并添加了一些错误处理。使用以下错误处理时 我得到这个控制台输出: 视频采用h264和aac(音频)编码,分辨率为1920x1168px。分辨率大于1920x1080px的每个视频都会出现此错误。分辨率为1920x1080px或

  • 我有一个WAV文件,我想打开它,添加一些效果,并播放。 我正在使用MediaPlayer播放文件,并使用PresetReverb添加一些效果。 这是我的密码 当我运行这段代码时,我将在logcat中获得一个日志(不是由我记录的) 05-02 12:02:42.356:E/MediaPlayer(17250):错误(-22,0) 但当我评论这些行时 我也得到了同样的错误(错误(-22,0))。 因此

  • 问题内容: 好吧,这只是我的要求。 我有一个WAV文件,我想打开它,添加一些效果,然后播放。 我正在使用MediaPlayer播放文件,并使用PresetReverb添加一些效果。 这是我的代码 当我运行此代码时,我将获得logcat登录(我未登录。) 05-02 12:02:42.356:E / MediaPlayer(17250):错误(-22,0) 但是当我评论这些话 MediaPlayer

  • Android 4.4发布后不久,我的代码从2.2开始就一直正常工作,但突然出了问题。 我的代码将在音乐数据库中查询给定的音乐文件。在查询中返回路径,然后将该路径传递到MediaPlayer。 代码: 我最终在我的 LogCat 中得到了无用的错误(1, -2147483648) 消息。 我也尝试过更换 具有 但这会在新的 FileInputStream(...) 上生成一个 FileNotFou

  • 我已经安装了Ubuntu 14.04,当我实例化一个MediaPlayer时,我收到了一个错误。 问题是当我创建媒体播放器时: 异常消息: 我已经安装了ubuntu限制附加组件,以及显示mp4视频所需的所有编解码器。当我用Vlc或其他播放器播放视频时,没有问题。 这可能是 Ubuntu 14.04 中的 JavaFx 问题吗? 我试过jre-1.8

  • 问题内容: {新手Android开发人员} 我目前正在使用在Github上找到的Google的开源媒体应用来尝试为自己的项目之一创建自己的媒体播放器。但是,我一直遇到的一个问题是,当我从以下位置更改RemoteJSON中的JSON文件时: 至 (使用myjson.com存储文件) 它会填充应用程序内的信息,但是当选择一项时,会产生MediaPlayer错误1(-2147483648)。(我所做的只