gpt4 book ai didi

android - 两部 Android 手机之间的实时视频流

转载 作者:可可西里 更新时间:2023-11-01 19:07:22 27 4
gpt4 key购买 nike

我目前正在研究两部 Android 手机之间的视频流。我编写了一个能够将视频录制到 sd 文件的应用程序(使用 MediaRecorder);我写了另一个能够显示文件视频的应用程序。这两个应用程序都能完美运行。

我在以下网站找到了一个关于“使用 Android 广播视频 - 无需写入本地文件”的网站。这正是我想做的。

http://www.mattakis.com/blog/kisg/20090708/broadcasting-video-with-android-without-writing-to-the-file-system

我修改了我的代码。

对于录像机,它是:

socket=severSocket.accept();
ParcelFileDescriptor=pfd;
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
recorder.setVideoFrameRate(15);
recorder.setVideoSize(320, 240);
recorder.setPreviewDisplay(holder.getSurface());
pfd = ParcelFileDescriptor.fromSocket(socket);
recorder.setOutputFile(pfd.getFileDescriptor());
recorder.prepare();
recorder.start();

对于视频播放器:

Socket socket = new Socket(IP,PORT);
mMediaPlayer = new MediaPlayer();
pfd = ParcelFileDescriptor.fromSocket(socket);
mMediaPlayer.setDataSource(pfd.getFileDescriptor()); // <-- here is the problem
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.start();

在 MediaPlayer 上对 mMediaPlayer.setDataSource(pfd.getFileDescriptor()); 进行编程我知道我没有正确设置数据源。 ParcelFileDescriptor 必须有额外的设置才能放入 MediaPlayer。

有人知道如何为 MediaPlayer 使用 ParcelFileDescriptor 吗?任何有用的建议或提示都会很好......

谢谢

最佳答案

在视频播放端你必须创建一个欢迎套接字

ServerSocket welcomeSocket = new ServerSocket(portNumber);
socket soc = welcomeSocket.accept();

和使用

mMediaplayer.prepareAsync();

代替

mMediaplayer.prepare();

关于android - 两部 Android 手机之间的实时视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com