點擊藍字 ╳ 關注我們
陳甲印
鴻湖萬聯資深技術專家
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//此配置文件配置聲卡驅動服務信息
4 構建開關
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"; // 根據hdmi驅動芯片連接的I2S總線地址進行配置
chipIdRegister = 0xfe400000; // 根據hdmi驅動芯片連接的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"; // 根據hdmi驅動芯片連接的I2S總線地址進行配置
chipIdRegister = 0xfe400000; // 根據hdmi驅動芯片連接的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 總結
原文標題:OpenHarmony支持HDMI接口聲卡適配說明
文章出處:【微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2355瀏覽量
42868 -
OpenHarmony
+關注
關注
25文章
3723瀏覽量
16331
原文標題:OpenHarmony支持HDMI接口聲卡適配說明
文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
HDMI接口類型有哪些 HDMI接口與DisplayPort接口的比較
HDMI(High-Definition Multimedia Interface,高清晰度多媒體接口)是一種用于傳輸高清視頻和音頻的接口標準。以下是一些常見的HDMI
HDMI接口支持哪些視頻分辨率
HDMI(High-Definition Multimedia Interface)接口支持的視頻分辨率因版本不同而有所差異。以下是HDMI接口
HDMI接口的作用和功能 HDMI接口與VGA接口的區別
是HDMI接口的主要作用和功能: 高清視頻傳輸 :HDMI接口能夠傳輸高分辨率的視頻信號,支持多種視頻格式,包括1080p、4K、8K等。
dp接口適配器常見問題及解決方案
設備不支持DP接口,或者在連接時出現兼容性問題。 解決方案: 確認設備的DP接口版本是否匹配。不同版本的DP接口可能存在兼容性問題。 使用轉換器或適
dp接口適配器與HDMI的區別
, Inc.(HDMI LA)負責制定標準。HDMI接口最初是為了取代傳統的模擬視頻接口而設計的,它能夠傳輸高清視頻和音頻信號,支持多種分辨
dp接口適配器如何連接顯示器
在現代顯示技術中,DP接口因其高速數據傳輸能力和對高分辨率視頻的支持而越來越受歡迎。然而,并非所有的顯示器和圖形輸出設備都配備了DP接口。 DP接口
VGA轉HDMI適配器使用指南
Multimedia Interface)接口的普及,越來越多的設備開始支持HDMI。 什么是VGA轉HDMI適配器 VGA轉
dp接口與hdmi接口的區別
在現代顯示技術中,DP(DisplayPort)和HDMI(High-Definition Multimedia Interface)接口是連接顯示器和視頻源的標準接口。它們都支持高分
主板聲卡被HDMI屏蔽了怎么辦
主板聲卡被HDMI屏蔽了,通常是指在連接HDMI音頻輸出設備(如顯示器、電視等)時,系統自動將音頻輸出切換到HDMI設備,導致主板上的集成聲卡
USB聲卡支持SPDIF格式嗎
高質量的音頻信號。那么,USB聲卡是否支持SPDIF格式呢? USB聲卡的基本概念 USB聲卡是一種通過USB接口傳輸音頻信號的設備,它具有
HDMI光纖線纜支持對接頭嗎
HDMI光纖線纜支持對接頭,但具體支持的對接頭類型和規格可能會因線纜型號、品牌和接口版本的不同而有所差異。 HDMI線是一種高清晰多媒體
HDMI接口和DVI接口有什么區別
接口有單鏈路(18針)和雙鏈路(24針)兩種模式。 傳輸速率: HDMI接口的傳輸速率隨版本升級而提高。HDMI 1.3支持5Gbps,
如何判斷HDMI接口版本是1.4還是2.0呢?
1.4和2.0。判斷HDMI接口版本主要通過以下幾種方法: 1. 查看產品說明書或標簽:在購買的電視、電腦顯示器、音視頻設備等產品上,通常會標注接口的版本信息。產品
評論