點擊藍字 ╳ 關注我們
陳甲印
鴻湖萬聯(lián)資深技術專家
1 功能描述
2 準備工作
3 代碼介紹
├── audio_config.hcs // 此配置文件配置聲卡信息
├── codec_config.hcs // 此配置文件配置codec信息
├── dai_config.hcs // 此配置文件配置dai信息
└── dma_config.hcs // 此配置文件配置platform信息
vendor/isoftstone/yangfan/hdf_config/khdf/device_info/
device_info.hcs//此配置文件配置聲卡驅(qū)動服務信息
4 構(gòu)建開關
5 功能配置
audio :: host {
hostName = "audio_host";
priority = 110;
device_dai :: device {...
device_hdmi :: deviceNode {
policy = 1;
priority = 50;
preload = 0;
permission = 0666;
moduleName = "DAI_RK3568";
serviceName = "hdmi_dai_service";
deviceMatchAttr = "hdf_hdmi_dai_driver";
}
}
device_codec :: device {...
device_hdmi :: deviceNode {
policy = 1;
priority = 50;
preload = 0;
permission = 0666;
moduleName = "AUDIO_HDMI_CODEC";
serviceName = "codec_service_1";
deviceMatchAttr = "hdf_codec_driver_1";
}
...
}
...
device_dma :: device {...
device_hdmi :: deviceNode {
policy = 1;
priority = 50;
preload = 0;
permission = 0666;
moduleName = "DMA_RK3568";
serviceName = "hdmi_dma_service_0";
deviceMatchAttr = "hdf_hdmi_dma_driver";
}
...
}
device_audio :: device {...
device_hdmi :: deviceNode {
policy = 2;
priority = 60;
preload = 2;
permission = 0666;
moduleName = "HDF_AUDIO";
deviceMatchAttr = "hdf_audio_driver_1";
serviceName = "hdf_audio_codec_hdmi_dev0";
}
...
}
...
}
root {
platform {
...
controller_0x120c1001 :: card_controller {
match_attr = "hdf_audio_driver_1";
serviceName = "hdf_audio_codec_hdmi_dev0";
codecName = "codec_service_1";
platformName = "hdmi_dma_service_0";
cpuDaiName = "hdmi_dai_service";
codecDaiName = "hdmi_codec_dai";
}
...
}
}
root {
platform {
template dma_controller {
match_attr = "";
serviceName = "";
}
...
controller_0x120c1011 :: dma_controller {
match_attr = "hdf_hdmi_dma_driver";
serviceName = "hdmi_dma_service_0";
idInfo {
chipName = "/i2s@fe400000"; // 根據(jù)hdmi驅(qū)動芯片連接的I2S總線地址進行配置
chipIdRegister = 0xfe400000; // 根據(jù)hdmi驅(qū)動芯片連接的I2S總線地址進行配置
chipIdSize = 0x1000;
}
regConfig {
daiStartupSeqConfig = [
0x00, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x0, //Transmit Operation Init
];
}
}
}
}
root {
platform {
template dai_controller {
match_attr = "";
serviceName = "";
}
...
controller_0x120c1021 :: dai_controller {
match_attr = "hdf_hdmi_dai_driver";
serviceName = "hdmi_dai_service";
idInfo {
chipName = "/i2s@fe400000"; // 根據(jù)hdmi驅(qū)動芯片連接的I2S總線地址進行配置
chipIdRegister = 0xfe400000; // 根據(jù)hdmi驅(qū)動芯片連接的I2S總線地址進行配置
chipIdSize = 0x1000;
}
regConfig {
daiStartupSeqConfig = [
0x00, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x0, //Transmit Operation Init
];
}
}
}
}
root {
platform {
template codec_controller {
match_attr = "";
serviceName = "";
codecDaiName = "";
}
...
controller_0x120c1031 :: codec_controller {
match_attr = "hdf_codec_driver_1";
serviceName = "codec_service_1";
codecDaiName = "hdmi_codec_dai";
hwInfo = [
/*
formats, rates, rate_min, rate_max, channels_min, channels_max,
period_bytes_min, period_bytes_max, periods_min, periods_max
*/
0xF, 0xFF, 8000, 96000, 1, 2, 1, 2, 3, 4, 5
];
}
...
}
6 應用樣例
--product-name yangfan -T audio_sample_render -T audio_sample_capture -T audio_sample_event
hdc shell
cd /data/
./audio_sample_renderYoungForYou.wav
7 功能驗證
hdc file send E:audio_sample_render /data
hdc file send E:audio_sample_event /data
hdcfilesendE:xxx.wav/data
hdc shell
cd/data/#chmod+xaudio_sample_event#./audio_sample_event
===============================================================================
===============================================================================
===============================================================================
===============================================================================
hdc shell
# cd /data/# chmod +x audio_sample_render## ./audio_sample_render YoungForYou.wav
==================== Loading Mode ===================
| 1. Passthrough Loading |
| 2. IPC Loading |
======================================================
Please enter your choice:
2
================= Select Audio Card ==================
1. primary
2. primary1
3. hdmi
4. usb
5. a2dp
======================================================
Please enter your choice:
3
================== Play Render Menu ==================
| 1. Render Start |
| 2. Render Stop |
| 3. Render Resume |
| 4. Render Pause |
| 5. Render SetVolume |
| 6. Render GetGain |
| 7. Render SetMute |
| 8. Render SetAttributes |
| 9. Render SelectScene |
| 10. Render getEXtParams |
| 11. Render getMmapPosition |
| 12.Exit |
======================================================
your choice is:
1
Music channels = 2
Music Rate = 44100 Hz
Music Bit = 16 bit
============= Play Render Mode ==========
| 1. Render non-mmap |
| 2. Render mmap |
========================================
Please enter your choice:
1
Start Successful,Music is playing
================== Play Render Menu ==================
| 1. Render Start |
| 2. Render Stop |
| 3. Render Resume |
| 4. Render Pause |
| 5. Render SetVolume |
| 6. Render GetGain |
| 7. Render SetMute |
| 8. Render SetAttributes |
| 9. Render SelectScene |
| 10. Render getEXtParams |
| 11. Render getMmapPosition |
| 12.Exit |
======================================================
your choice is:
2
Stop Successful
================== Play Render Menu ==================
| 1. Render Start |
| 2. Render Stop |
| 3. Render Resume |
| 4. Render Pause |
| 5. Render SetVolume |
| 6. Render GetGain |
| 7. Render SetMute |
| 8. Render SetAttributes |
| 9. Render SelectScene |
| 10. Render getEXtParams |
| 11. Render getMmapPosition |
| 12.Exit |
======================================================
your choice is:
12
8 總結(jié)
原文標題:OpenHarmony支持HDMI接口聲卡適配說明
文章出處:【微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2302瀏覽量
42689 -
OpenHarmony
+關注
關注
25文章
3635瀏覽量
16061
原文標題:OpenHarmony支持HDMI接口聲卡適配說明
文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
VGA轉(zhuǎn)HDMI適配器使用指南
Multimedia Interface)接口的普及,越來越多的設備開始支持HDMI。 什么是VGA轉(zhuǎn)HDMI適配器 VGA轉(zhuǎn)
VGA接口與HDMI接口的區(qū)別
器和圖形適配器而設計的。VGA接口使用15針腳的D-sub連接器,支持模擬信號傳輸。 HDMI接口: H
dp接口與hdmi接口的區(qū)別
在現(xiàn)代顯示技術中,DP(DisplayPort)和HDMI(High-Definition Multimedia Interface)接口是連接顯示器和視頻源的標準接口。它們都支持高分
主板聲卡被HDMI屏蔽了怎么辦
主板聲卡被HDMI屏蔽了,通常是指在連接HDMI音頻輸出設備(如顯示器、電視等)時,系統(tǒng)自動將音頻輸出切換到HDMI設備,導致主板上的集成聲卡
USB聲卡支持SPDIF格式嗎
高質(zhì)量的音頻信號。那么,USB聲卡是否支持SPDIF格式呢? USB聲卡的基本概念 USB聲卡是一種通過USB接口傳輸音頻信號的設備,它具有
HDMI光纖線纜支持對接頭嗎
HDMI光纖線纜支持對接頭,但具體支持的對接頭類型和規(guī)格可能會因線纜型號、品牌和接口版本的不同而有所差異。 HDMI線是一種高清晰多媒體
hdmi2.1的線能接2.0接口嗎
HDMI 2.1的線可以接在HDMI 2.0的接口上,但需要注意以下幾點: 兼容性:HDMI 2.1是向下兼容HDMI 2.0的,這意味著
什么是USB聲卡?
USB聲卡是一種外置的音頻接口設備,通過USB接口連接到計算機、筆記本、平板電腦等設備。它能夠提供高質(zhì)量的音頻輸入和輸出,通常用于音樂制作、錄音、直播和家庭娛樂等場景。與內(nèi)置聲卡相比,
HDMI接口和DVI接口有什么區(qū)別
接口有單鏈路(18針)和雙鏈路(24針)兩種模式。 傳輸速率: HDMI接口的傳輸速率隨版本升級而提高。HDMI 1.3支持5Gbps,
如何選擇HDMI接口和線纜
HDMI(High Definition Multimedia Interface)作為當今音視頻設備中最常見的接口之一,其質(zhì)量和性能對于影音體驗有著至關重要的影響。然而,面對市場上琳瑯滿目
hdmi是什么接口連接顯示器
HDMI接口,全稱“高清多媒體接口”,是一種全數(shù)字化視頻以及聲音發(fā)送接口,能夠發(fā)送未壓縮的音頻和視頻信號。HDMI
如何判斷HDMI接口版本是1.4還是2.0呢?
1.4和2.0。判斷HDMI接口版本主要通過以下幾種方法: 1. 查看產(chǎn)品說明書或標簽:在購買的電視、電腦顯示器、音視頻設備等產(chǎn)品上,通常會標注接口的版本信息。產(chǎn)品
OpenHarmony開源GPU庫Mesa3D適配說明
本文檔主要講解在OpenHarmony中,Mesa3D的適配方法及原理說明。
環(huán)境說明:
OHOS版本: 適用3.2-Beta3及以上
內(nèi)核版本: linux-5.10
硬件環(huán)境
發(fā)表于 12-25 11:38
HDMI自動切換器是支持多路HDMI輸入一路HDMI輸出的嗎?
自動偵測并切換不同的輸入源。因此,HDMI自動切換器可以支持多路HDMI輸入一路HDMI輸出。 HDMI(高清晰度多媒體
HDMI MHL是如何工作的?如何使用HDMI MHL適配器呢?
HDMI MHL是如何工作的?如何使用HDMI MHL適配器呢? HDMI MHL (Mobile High-Definition Link) 是一種允許您將移動設備連接到高清電視或顯
評論