代码改变世界

发布 InternetRadio SDK for Android

2012-12-02 11:36  shaobin0604  阅读(1968)  评论(1编辑  收藏  举报

简介

InternetRadio SDK 是用于播放网络流媒体音频的多媒体组件。开发者通过集成该SDK,可以很容易开发出类似于 TuneIn Radio, Any Radio, 蜻蜓.fm收音机 的网络收音机应用。

特性

  • 支持 MMS, RTMP, HTTP 流媒体协议
  • 支持 ASF, FLV 封装格式
  • 支持 WMA, MP3, AAC 音频编码
  • 支持 3G, Edge, Wi-Fi网络
  • 支持 Android 2.1 ~ Android 4.4
    • OpenSL ES (Android 2.3 ~ Android 4.4)
    • AudioTrack Java (Android 2.1 ~ Android 4.4)
    • AudioTrack C++ (Android 2.1 ~ Android 4.2)
  • 包含完整的DEMO应用源码
  • 集成简单

依赖的开源库

InternetRadio SDK 依赖于 ffmpeg ,其源代码可以在 https://github.com/shaobin0604/rockplayer_ffmpeg_git_20100418 获取

集成方法

MmsPlayer 是 InternetRadio SDK 提供的播放器类,其使用方法与 Android SDK 提供的 MediaPlayer 类似。

  1. 创建 MmsPlayer 对象 new MmsPlayer
  2. 设置相关的回调方法 setXXXListener
  3. 设置数据源 setDataSource
  4. 异步准备 prepareAsync
  5. 准备完成,播放 start
public void play() {
    // this 是 Activity 或 Service, 并实现了 OnPreparedListener, OnBufferingUpdateListener, OnBufferingCompleteListener, OnCompletionListener, OnErrorListener
    MmsPlayer mPlayer = new MmsPlayer(this);  
    mPlayer.setWakeMode(PowerManager.PARTIAL_WAKE_LOCK);

    mPlayer.setOnPreparedListener(this);
    mPlayer.setOnCompletionListener(this);
    mPlayer.setOnErrorListener(this);
    mPlayer.setOnBufferingCompleteListener(this);
    mPlayer.setOnBufferingUpdateListener(this);

    mPlayer.setDataSource("mms://alive.rbc.cn/fm974"); // 北京音乐广播 FM97.4
    mPlayer.prepareAsync();

}

@Override
public void onBufferingComplete(MmsPlayer mp) {
  // 更新用户界面,缓冲完成,开始播放
}

@Override
public void onCompletion(MmsPlayer mp) {
  // 更新用户界面,播放完成
}

@Override
public void onBufferingUpdate(MmsPlayer mp, int percent) {
  // 更新用户界面,显示缓冲进度
}

@Override
public void onError(MmsPlayer mp, int what, int extra) {
  // 更新用户界面,提示出错
}

@Override
public void onPrepared(MmsPlayer mp) {
  MediaInfo info = mp.getMediaInfo(); // 获取媒体信息,如:封装格式,音频编码,比特率
  mp.start();  // 准备完成,开始播放
}

 详细的使用方法,如:后台 Service 播放, 后台 Service 与 Activity 交互等见 InternetRadio SDK 附带的 DEMO 应用源码。

DEMO应用

下载

InternetRadioTK-demo-debug.apk

使用说明

1. 安装下载的 InternetRadioTK-demo-debug.apk 

2. 运行 FM DEMO,软件预置了三个不同类型的流媒体源

  • 城市之音 rtmp flv aac
  • 北京音乐广播 mms asf wmav2
  • 浙江之声 http flv mp3

 

3. 如果需要测试自定义的流媒体源,请自行修改如下 xml 文件,保存为 droidmms.xml 并拷贝到手机SD卡根目录。

<?xml version="1.0" encoding="utf-8"?>
<droidmms-channels>
    <channel name="城市之音(rtmp+flv+aac)" url="rtmp://rtmp.sctv.com/SRT_Live/FM1026"/>
    <channel name="北京音乐广播(mms+asf+wmav2)" url="mms://alive.rbc.cn/fm974"/>
    <channel name="浙江之声(http+flv+mp3)" url="http://r1.cztv.com/channels/1601/128.flv"/>
</droidmms-channels>

注意事项

  • 该DEMO应用仅用于演示 InternetRadio SDK 提供的功能,不得用于其他用途。
  • 该DEMO应用是调试版本,会输出很多调试LOG。
  • 该DEMO应用的使用期限只有一天,过期之后会发生FC错误。如需继续使用,请先卸载然后重新安装。

联系方式