繁体   English   中英

通过http流音频

[英]Streaming audio via http

给定一个音频.mp3文件,如何从该文件创建音频流并将其共享为url "http://..." 我实际上已经尝试实现一个Servlet,该Servlet将我的文件提供给MediaPlayer对象,但是似乎在请求Servlet时,宁愿下载文件而不是获取音频流(mediaPlayer的onPrepared条件永远设置为false尽管该进程一直在运行)。 这是源代码:

button_play.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){

            try{
                mPlayer.reset();                   
                mPlayer.setDataSource("http://localhost:8080/FileServlet/song/sample.mp3");                    
                mPlayer.prepareAsync();

                mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
                    @Override
                    public void onPrepared(MediaPlayer mp){
                        mp.start();

                    }
                });

            } catch (IllegalStateException e) {
                System.out.println(e.getMessage());
            }
            catch (IOException e) {
                System.out.println(e.getMessage());
            }
            catch (IllegalArgumentException e) {
                System.out.println(e.getMessage());
            }
            catch (SecurityException e) {
                System.out.println(e.getMessage());
            }

        }

    });

任何想法请问我该如何实现?

实际上,MediaPlayer对象是决定如何使用“文件”的对象:下载并随后播放它,或者在下载时播放它。

方法1是“安全的”,因为服务器可能会停机,或者某些站点不允许下载时间超过15分钟并尝试断开它们的连接。方法2对速度较慢的互联网提供商不利(您不想每5秒钟听到1秒的音乐流的秒数)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM