首页 新闻 会员 周边

Android中实现流媒体播放MP3文件的方法?

0
悬赏园豆:100 [待解决问题]

 我做了一个小的MP3实例,大部分代码还是参考了网上别人的代码。实现了从网站边下载边播放的功能,其中下载文件的过程是通过

  URLConnection mediaCn = new URL(mediaUrl).openConnection();   
  mediaCn.connect();  
  InputStream mediaCnStream = mediaCn.getInputStream();

得到网络地址,但是网络地址mediaUrl 是http://192.168.0.100:8080/mp3/a1.mp3 并且将下载的数据存储为.dat文件,使用

   FileInputStream fis = new FileInputStream(mediaFile);
        mPlayer.reset();
        mPlayer.setDataSource(fis.getFD());
        //此方法返回与流相关联的文件说明符。
        mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mPlayer.prepare();
        mPlayer.start();

来播放文件,这里定义了mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
设置播放类型。中间省略了一些边下载边播放的过程细节,既当播放到当前的进度小于文件的当前长度,就暂停播放等待下载,下载成功后继续播放。

我有一个疑问,所谓的android播放流媒体文件不是应该基于RSTP协议的么?这里下载数据的时候使用的网址是HTTP协议,我直接换了协议头为RSTP时提示不支持RSTP协议,android支不支持流媒体的播放啊?我用的android是2.2版本的。 如果支持这个协议,跟我现在通过http下载实现的边播放边下载有什么作用呢,这不是一样可以实现边缓存边播放么?

  请大虾们赐教赐教,本人学android猜一个月,很多不懂的地方请指教!
       

LuHW2012的主页 LuHW2012 | 初学一级 | 园豆:100
提问于:2011-04-17 14:49
< >
分享
所有回答(2)
0

你好,我也正在学习流媒体,能把你的源代码发一份给我吗?谢谢!邮箱:915425504@qq.com

tdyyy | 园豆:202 (菜鸟二级) | 2013-03-20 16:01
0

小朋友,不要误导听众了好吗,首先RSTP是协议,URL连接是HTTP协议,自然传入参数会失败,其次你的设计明显有缺陷,对于小米2手机这种只有机身内存,内部文件结构不是FAT32格式的根本就没法播放完全,除非创建和播放大小一样的缓存文件。

龙的专属 | 园豆:248 (菜鸟二级) | 2013-05-20 22:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册