【问题标题】:how to play audio or video from ParcelFileDescriptor如何从 ParcelFileDescriptor 播放音频或视频
【发布时间】:2013-12-10 08:16:04
【问题描述】:

如何从

播放视频或音频
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
mp.setDataSource(pfd.getFileDescriptor());
pfd.close();
mp.setDisplay(holder);
mp.prepareAsync();
mp.start();

它显示无法创建媒体播放器的错误。我必须做什么?

【问题讨论】:

    标签: android video-streaming audio-streaming


    【解决方案1】:

    我不确定您真正想要什么,但可能是this 答案可以帮助您。 另请阅读原始问题,以确保您遇到的问题相同。

    试试这个代码:

     String hostname = "192.168.1.10";
    int port = 8000;
    Socket socket = null;
        try {
            socket = new Socket(InetAddress.getByName(hostname), port);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    
    ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
    
    recorder = new MediaRecorder();
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    recorder.setOutputFile(pfd.getFileDescriptor());
    
        try {
            recorder.prepare();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    
    recorder.start();
    

    【讨论】:

    • 是的,我正在使用包裹文件描述符将音频文件发送到服务器端,但我无法使用包裹文件描述符播放,这是原因吗?
    • 你的代码捕获了音频并通过socket发送,但他想在另一边播放!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多