日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 视频录制和上传,关于android实时视频录制与上传 .

發(fā)布時(shí)間:2025/3/12 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 视频录制和上传,关于android实时视频录制与上传 . 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)于android的實(shí)時(shí)視頻錄制現(xiàn)在網(wǎng)上炒的很火,我想把自己學(xué)習(xí)研究的一個(gè)視頻錄制的demo 的心得與大家分享一下

使用的是MediaRecorder 以及使用SurfaceView進(jìn)行錄制的。

視頻錄制的部分也比較簡單,直接看API的圖就可以很清楚的知道步驟了。

Android的MediaRecorder包含了Audio和video的記錄功能,在Android的界面上,Music和Video兩個(gè)應(yīng)用程序都是調(diào)用MediaRecorder實(shí)現(xiàn)的。

通過操作這個(gè)MediaRecorder類就能實(shí)現(xiàn)這個(gè)音頻和視頻的錄制。

通過幾個(gè)星期的努力做了一個(gè)基本成型的東西。可以錄制視頻并且可是實(shí)時(shí)的上傳到服務(wù)器端。但是沒有解決實(shí)時(shí)的問題,正在研究當(dāng)中。但是在實(shí)時(shí)的上傳的時(shí)候會(huì)遇到很多問題。

1.就是在保存本地的路徑換成Socket android 的IPA可以支持可以用Socket 來傳輸

ParcelFileDescriptor pfd = ParcelFileDescriptor

.fromSocket(receiver);

mediaRecorder.setOutputFile(pfd.getFileDescriptor());

只要把參數(shù)換成Socket 就可以。

但是有個(gè)問題,可是實(shí)時(shí)的傳到服務(wù)器上。有數(shù)據(jù),但是就是不能播放。具體查了好多資料,知道什么原因,但是沒有具體的解決方法,目前正在研究方法中。

1.具體不能播放的原因就是,在視頻的錄制的時(shí)候都有個(gè)數(shù)據(jù)回寫功能。數(shù)據(jù)回寫就是把視頻一些標(biāo)題數(shù)據(jù)信息,加載到錄制的文件的開頭,要是在錄制視頻沒有這個(gè)標(biāo)題頭的話就不能播放視頻,在本地錄制的可以播放,但是用Socket 傳輸?shù)脑捑褪前涯莻€(gè)信息數(shù)據(jù)加到文件的后面。導(dǎo)致文件開頭沒有信息無法播放,所以現(xiàn)在正在研究解決方法。

具體實(shí)時(shí)的上傳的代碼如下可以參考。

/**

* 實(shí)時(shí)上傳到PC端(邊錄邊傳)

*

* @author Administrator 呂俊

*/

private final class ButtonClickListener1 implements View.OnClickListener

{

@Override

public void onClick(View v)

{

if (!Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED))

{

Toast.makeText(MainActivity.this, R.string.sdcarderror, 1)

.show();

return;

}

try

{

switch (v.getId())

{

case R.id.record:

mediaRecorder.reset();

mediaRecorder

.setVideoSource(MediaRecorder.VideoSource.CAMERA); // 從照相機(jī)采集視頻

//mediaRecorder

//.setAudioSource(MediaRecorder.AudioSource.MIC);

mediaRecorder

.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);

mediaRecorder.setVideoSize(480, 320);

mediaRecorder.setVideoFrameRate(3); // 每秒3幀

mediaRecorder

.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT); // 設(shè)置視頻編碼方式

//mediaRecorder

//??.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

mediaRecorder.setPreviewDisplay(surfaceView.getHolder()

.getSurface());

// 實(shí)時(shí)上傳的代碼

receiver = new Socket("192.168.1.149", 9999);

ParcelFileDescriptor pfd = ParcelFileDescriptor

.fromSocket(receiver);

mediaRecorder.setOutputFile(pfd.getFileDescriptor());

mediaRecorder.prepare();// 預(yù)期準(zhǔn)備

mediaRecorder.start();// 開始刻錄

record = true;

break;

case R.id.stop:

if (record)

{

System.out.println(videoFile);

mediaRecorder.stop();

mediaRecorder.release();

receiver.close();

record = false;

}

break;

}

} catch (Exception e)

{

Toast.makeText(MainActivity.this, R.string.error, 1).show();

Log.e(TAG, e.toString());

}

}

}

總結(jié)

以上是生活随笔為你收集整理的android 视频录制和上传,关于android实时视频录制与上传 .的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。