簡體   English   中英

兩部Android手機之間的實時視頻流

[英]Live Video Stream between two Android Phones

我目前正在研究兩個Android Phone之間的視頻流。 我編寫了一個能夠將視頻錄制到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();

mMediaPlayer.setDataSource(pfd.getFileDescriptor());程序迷戀mMediaPlayer.setDataSource(pfd.getFileDescriptor()); 在MediaPlayer上,我知道我沒有正確設置數據源。 要將ParcelFileDescriptor放入MediaPlayer,必須有其他設置。

有誰知道如何為媒體播放器使用ParcelFileDescriptor 任何有幫助的建議或技巧都將很好......

謝謝

在視頻播放端,您必須創建一個歡迎套接字

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

和使用

mMediaplayer.prepareAsync();

代替

mMediaplayer.prepare();

Android本身不支持Android 2.1或更低版本中的視頻流。 我們要做的是逐幀獲取圖像。 然后將每個火焰分解為BYTE []並使用Socket類進行發送。 在接收方,我們使用接收到的BYTE[]數據重建圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM