如何在android中播放RTMP的音频链接?
在我的例子中,我有一个简单的RTMP实时音频流(例如:rtmp://myserver/myapp/myliveaudio)如何在android中播放RTMP的音频链接?,android,audio,playback,rtmp,Android,Audio,Playback,Rtmp,在我的例子中,我有一个简单的RTMP实时音频流(例如:rtmp://myserver/myapp/myliveaudio) 在我的Android应用程序中阅读它最简单的方法是什么?您只需尝试使用webview进行连接即可 public class Player extends Activity implements OnClickListener { WebView webView; String bodyHtml; String rtmpUrl; Strin
在我的Android应用程序中阅读它最简单的方法是什么?您只需尝试使用webview进行连接即可
public class Player extends Activity implements OnClickListener {
WebView webView;
String bodyHtml;
String rtmpUrl;
String fileName;
Button refreshButton;
String htmlPost = "</body></html>";
String htmlPre = "<!DOCTYPE html>"
+ "<html lang=\"en\">"
+ "<head><meta charset=\"utf-8\">"
+ "</head>"
+ "<body style='margin:0; pading:0;"
+ " background-color: #71D5CA;'>";
String htmlCode = "<embed "
+ "type=\"application/x-shockwave-flash\""
+ "id=\"player1\" " + "name=\"player1\" "
+ "src=\"http://developer.longtailvideo.com"
+ "/svn/trunk/fl5/player.swf\""
+ "width=\"320\""
+ "height=\"280\"" + " flashvars=@FILESRC@"
+ "allowfullscreen=\"true\""
+ "allowscripaccess=\"always\""
+ "/> ";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setAppCacheEnabled(true);
refreshButton =
(Button) findViewById(R.id.main_bt_refresh);
refreshButton.setOnClickListener(this);
refreshFileName();
}
@Override
public void onClick(View v) {
refreshFileName();
}
private void refreshFileName() {
EditText etRtmpUrl =
(EditText) findViewById(R.id.setup_et_host);
EditText etFileName =
(EditText) findViewById(R.id.setup_et_file);
rtmpUrl = etRtmpUrl.getText().toString();
fileName = etFileName.getText().toString();
if (fileName.endsWith(".flv")) {
fileName = "flv:" + fileName;
}
bodyHtml = htmlCode;
bodyHtml = bodyHtml.replaceAll("@FILESRC@",
"\"file=" + fileName
+ "&streamer=" + rtmpUrl + "\"");
webView.loadDataWithBaseURL("http://127.0.0.1",
htmlPre + bodyHtml
+ htmlPost, "text/html", "UTF-8", null);
}
}
公共类播放器扩展活动实现OnClickListener{
网络视图;
字符串bodyHtml;
字符串rtmpUrl;
字符串文件名;
按钮刷新按钮;
字符串htmlPost=“”;
字符串htmlPre=“”
+ ""
+ ""
+ ""
+ "";
字符串htmlCode=“”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webView=(webView)findviewbyd(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setAppCacheEnabled(true);
刷新按钮=
(按钮)findViewById(R.id.main\u bt\u刷新);
refreshButton.setOnClickListener(此);
刷新文件名();
}
@凌驾
公共void onClick(视图v){
刷新文件名();
}
私有无效刷新文件名(){
EditText etRtmpUrl=
(EditText)findViewById(R.id.setup\u et\u host);
EditText etFileName=
(EditText)findViewById(R.id.setup\u et\u文件);
rtmpUrl=etRtmpUrl.getText().toString();
fileName=etFileName.getText().toString();
if(fileName.endsWith(“.flv”)){
fileName=“flv:”+文件名;
}
bodyHtml=htmlCode;
bodyHtml=bodyHtml.replaceAll(@FILESRC@),
“\”file=“+文件名
+“&streamer=“+rtmpUrl+”\”);
webView.loadDataWithBaseURL(“http://127.0.0.1",
htmlPre+bodyHtml
+htmlPost,“文本/html”,“UTF-8”,空);
}
}
检查此项目,例如:
我的rtmp url是实时流媒体url,那么应该传入什么文件名?