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

时间:2015-04-14 12:56:13

标签: android audio playback rtmp

就我而言,我有一个简单的RTMP现场音频流(例如:rtmp:// myserver / myapp / myliveaudio)。

在我的Android应用中阅读它的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

您只需尝试使用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);
    }

}

检查这个项目,例如:

https://code.google.com/p/android-recorder/downloads/detail?name=android-rtmp-player_src.zip&can=2&q=