在安卓系统中实现音频流传输

3
我使用这段代码来流式播放音频,但它没有起作用。
    public class MediaPlayerAudio extends Activity implements OnClickListener,
       OnPreparedListener, OnErrorListener {

          MediaPlayer mp;

          public v

oid onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          Button bt = (Button)findViewById(R.id.play);
          bt.setOnClickListener(this);
      }



      @Override
         public void onPrepared(MediaPlayer mp) {
             Log.i("radio", "prepare finished");
             mp.start();

         }


        @Override
        public void onClick(View v) {
             try
              {
                  mp = new MediaPlayer();
                  mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
                  mp.setOnPreparedListener(this);
                  mp.setOnErrorListener(this);
                  mp.setDataSource("http://stream1.tanitweb.com/rtci");
                  mp.prepareAsync();
              }
              catch(Exception e)
              {
                  Log.e("radio", e.getMessage());
              }

        }



        @Override
        public boolean onError(MediaPlayer mp, int what, int extra) {
            // TODO Auto-generated method stub
            return false;
        }

      }}

点击按钮时,我遇到了这个错误。
05-15 09:31:14.360: ERROR/PlayerDriver(30): Command PLAYER_INIT completed with an error or info PVMFErrCorrupt
05-15 09:31:14.371: ERROR/MediaPlayer(330): error (1, -10)
05-15 09:31:14.371: ERROR/MediaPlayer(330): Error (1,-10)
1个回答

0

看起来你正在尝试播放的媒体格式在安卓设备上不受支持。这里是一个表格,列出了所有受支持的格式,而似乎ASF格式并不在其中。我已经尝试了你提供的URL,它指向的是rtci.asf


你使用的 HTTP 服务器是什么? - Mojo Risin
我遇到了同样的问题,在研究后发现这是由于 http 头部信息引起的。你是否设置了所有参数如内容长度、内容类型等等?试着从其他 http 服务器上进行流式传输。 - Mojo Risin
所以问题不在代码中。你能告诉我你用来解决我的问题的服务器名称吗? - foffa
尝试播放以下网址:http://freedownloads.last.fm/download/182052320/I%2527m%2Ba%2BPilot.mp3 - Mojo Risin
我把这个mp3文件放到服务器上。我运行代码,但是我得到了相同的错误05-15 09:31:14.360: ERROR/PlayerDriver(30): Command PLAYER_INIT completed with an error or info PVMFErrCorrupt 05-15 09:31:14.371: ERROR/MediaPlayer(330): error (1, -10) 05-15 09:31:14.371: ERROR/MediaPlayer(330): Error (1,-10)。 - foffa
你能用真实设备试一下吗?有时候,虚拟机会出现错误,即使在真实设备上运行正常。 - Antimony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接