如何在android中播放RTMP的音频链接?

如何在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

在我的例子中,我有一个简单的RTMP实时音频流(例如:rtmp://myserver/myapp/myliveaudio)


在我的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,那么应该传入什么文件名?