日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS視頻錄制開發(fā)指導(dǎo)

場景介紹

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比武城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式武城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋武城地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

視頻錄制的主要工作是選擇視頻/音頻來源后,錄制并生成視頻/音頻文件。

接口說明

接口名 功能描述
Recorder() 創(chuàng)建 Recorder 實例。
setSource(Source source) 設(shè)置音視頻源。
setAudioProperty(AudioProperty property) 設(shè)置音頻屬性。
setVideoProperty(VideoProperty property) 設(shè)置視頻屬性。
setStorageProperty(StorageProperty property) 設(shè)置音視頻存儲屬性。
prepare() 準(zhǔn)備錄制資源。
start() 開始錄制。
stop() 停止錄制。
pause() 暫停錄制。
resume() 恢復(fù)錄制。
reset() 重置錄制。
setRecorderLocation(float latitude, float longitude) 設(shè)置視頻的經(jīng)緯度。
setOutputFormat(int outputFormat) 設(shè)置輸出文件格式。
getVideoSurface() 獲取視頻窗口。
setRecorderProfile(RecorderProfile profile) 設(shè)置媒體錄制配置信息。
registerRecorderListener(IRecorderListener listener) 注冊媒體錄制回調(diào)。
release() 釋放媒體錄制資源。

開發(fā)步驟

  1. 調(diào)用 Recorder() 方法,創(chuàng)建 Recorder 實例。
  1. 調(diào)用 setOutputFormat(int outputFormat) 方法,設(shè)置錄制文件存儲格式。
  1. 構(gòu)造數(shù)據(jù)源對象,并調(diào)用 Recorder 實例的 setSource(Source source) 方法,設(shè)置媒體源,代碼示例如下:
   Recorder recorder = new Recorder();
   FileDescriptor fd = in.getFD();
   Source source = new Source(fd);
   source.setRecorderAudioSource(Recorder.AudioSource.DEFAULT);
   recorder.setSource(source);

  1. (可選)構(gòu)造音頻屬性 AudioProperty 對象(不設(shè)置音頻則是只錄視頻),并調(diào)用 Recorder 實例的 setAudioProperty(AudioProperty property) 方法,設(shè)置錄制的音頻屬性,代碼示例如下:
   final int AUDIO_NUM_CHANNELS_STEREO = 2;
   final int AUDIO_SAMPLE_RATE_HZ = 8000;
   AudioProperty audioProperty = new AudioProperty.Builder()
                       .setRecorderNumChannels(AUDIO_NUM_CHANNELS_STEREO)
                       .setRecorderSamplingRate(AUDIO_SAMPLE_RATE_HZ)
                       .setRecorderAudioEncoder(Recorder.AudioEncoder.DEFAULT)
                       .build();
   recorder.setAudioProperty(audioProperty);

  1. 構(gòu)造存儲屬性 StorageProperty 對象,并調(diào)用 Recorder 實例的 setStorageProperty(StorageProperty property) 方法,設(shè)置錄制的存儲屬性,代碼示例如下:
   String path = "/path/audiotestRecord.mp4";
   StorageProperty storageProperty = new StorageProperty.Builder()
                       .setRecorderPath(path)
                       .setRecorderMaxDurationMs(-1) 
                       .setRecorderMaxFileSizeBytes(-1)
                       .build();
   recorder.setStorageProperty(storageProperty);

  1. (可選)構(gòu)造視頻屬性 VideoProperty 對象,并調(diào)用 Recorder 實例的 setVideoProperty(VideoProperty property) 方法,設(shè)置錄制的視頻屬性,代碼示例如下:
   VideoProperty videoProperty = new VideoProperty.Builder()
                       .setRecorderVideoEncoder(Recorder.VideoEncoder.DEFAULT)
                       .setRecorderWidth(1080)
                       .setRecorderDegrees(0)
                       .setRecorderHeight(800)
                       .setRecorderBitRate(10000000)
                       .setRecorderRate(30)
                       .build();
   recorder.setVideoProperty(videoProperty);

  1. 調(diào)用 prepare(),準(zhǔn)備錄制。
  1. (可選)構(gòu)造錄制回調(diào),首先構(gòu)造對象 IRecorderListener,IRecorderListener 需要實現(xiàn) onError(int what, int extra),實現(xiàn)錄制過程收到錯誤信息時做相應(yīng)的操作。下面的代碼例子中錄制異常時,打印了相關(guān)的日志信息,代碼示例如下:
   IRecorderListener listener = new RecorderErrorAndInfoListener() {
       @Override
       public void onError(int what, int extra) {
           HiLog.error("EncodeWriteFileListener onError what:%{public}d, extra:%{public}d", what, extra);
       }
   }

  1. 調(diào)用 start() 方法,開始錄制。
  1. (可選)調(diào)用 pause() 方法和 resume() 方法,可以實現(xiàn)暫停和恢復(fù)錄制。
  1. 調(diào)用 stop() 方法停止錄制。
  1. 錄制結(jié)束后,調(diào)用 release() 釋放資源。

網(wǎng)頁題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS視頻錄制開發(fā)指導(dǎo)
鏈接URL:http://www.dlmjj.cn/article/cdegehj.html