完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想把音量改变到一个特定的水平(在0和255之间),然后在D3332 BT音频演示板上播放音频曲目。调用DRVIAKAK434IVuluSeMe()函数失败了。此外,任何后续的音量水平调整不再有任何效果。这个问题可以通过运行“UnvialSaldioOx解码器”演示应用程序来复制。并通过调整音量控制,而一个新的轨道即将开始播放。从此点开始的音量控制停止工作。在演示中,DRVIAKAK438 4InIT结构被声明为const,因此在运行时不打算修改它。但是,在运行时移除常量和更改卷成员没有帮助。正如框架参考文档中所描述的,我使用AppYAK438命令SuffDeTHANDLE()回调函数,以检查在调用DRVIAKAK438 4Y卷之前,驱动程序已经准备好接受新命令。设置()函数。但是AK438的编解码器驱动程序、I2S驱动程序和定时器驱动程序的MHC配置与框架参考文档中描述的相同。显然,当一个轨道即将播放时,调用任何编解码器特定功能可能会出现问题。音频数据缓冲器通过I2S流到AK438上。音量如何在轨道运行之前被初始设置,而不是在轨道运行时调节音量?任何帮助都将非常感谢-谢谢。
以上来自于百度翻译 以下为原文 I want to change the volume to a specific level (between 0 and 255) before an audio track is played on the DM320032 BT audio demo board. Calling the DRV_AK4384_VolumeSet() function fails to do this. Furthermore any subsequent volume level adjustment no longer has any effect. This problem can be replicated by running the "universal_audio_decoders" demo app. and by adjusting the volume control while a new track is about to start playing. The volume control from that point onwards stops working. The DRV_AK4384_INIT structure is declared as const in the demo, and so is intended not to be modified during runtime. However removing the const-ness and changing the .volume member at runtime does not help. As described in the Framework Reference document, I am using the APP_AK4384CommandEventHandler() callback function, to check that the driver is ready to accept a new command before calling the DRV_AK4384_VolumeSet() function. But this also does not help. My MHC configuration for the AK4384 Codec Driver, I2S Driver, and the Timer Driver are identical to that described in the Framework Reference document. There is clearly a problem calling any of the Codec Specific Functions when a track is about to play, possibly when the audio data buffer is streamed to the AK4384 via I2S. How can the volume be initially set before a track plays, rather than adjusting the volume while the track is playing? Any help here would be much appreciated - Thanks. |
|
相关推荐
5个回答
|
|
嗨,我可以用通用音频解码器音量控制来重建你的问题。调试显示,当按钮中断用于跟踪改变或暂停/播放时,AK438驱动程序没有完成DRVIAKAK438 4VuluMeSeT()命令过程。这阻止了任何新的卷集过程初始化。这是一个需要解决的驱动程序问题。当我们有解决方案时,我会发布。谢谢,恰克·巴斯。
以上来自于百度翻译 以下为原文 Hi, I was able to recreate your problem with the Universal Audio Decoder volume control. Debugging shows that when button interrupts for track change or pause/play are being processed the AK4384 driver does not complete the DRV_AK4384_VolumeSet() command process. This prevents any new volume set process from initiatiating. This is a driver problem that needs to be fixed. I'll post when we have a solution. Thanks, Chuck |
|
|
|
你好,恰克·巴斯,谢谢你抽出时间来看这个。当轨道改变时,我相信通用音频解码器演示发送一个新的采样率命令,以防万一新的音轨以不同的格式记录。在黑客攻击AK438驱动程序的情况下,我无法找到任何机制(例如全局标志)来确定命令是否在进行中。因此,我最终引入了一个非阻塞延迟,在轨道开始时和设置音量时。这当然是一个软糖,所以我期待着修改后的AK438司机纳入此修复。再次感谢。
以上来自于百度翻译 以下为原文 Hello Chuck, Thank you for taking the time to look into this. When the track changes, I believe the Universal Audio Decoder demo sends a new sample rate command, just in case the new sound track is recorded in a different format. Short of hacking the AK4384 driver, I wasn't able to find any mechanism (e.g. global flag) to determine that a command was in progress. So I ended up introducing a non blocking delay between when the track starts and when the volume is set. This is of course is a fudge, and so I look forward to a revised AK4384 driver incorporating this fix. Thanks again. |
|
|
|
我很高兴你找到了一个解决办法,这给了我在司机身上的线索。USB驱动器和编解码器之间不应该有任何交互,所以我从这里开始。谢谢,恰克·巴斯。
以上来自于百度翻译 以下为原文 I'm glad you found a workaround, which gives come clue as to what I going on in the driver. There should not be any interaction between the USB driver and the Codec, so I'll start there. Thanks, Chuck |
|
|
|
你好,恰克·巴斯,我没有尝试过,但是我假设音量设置问题也适用于其他和谐支持的编解码器,包括AK453。你知道AK编解码器的音量调整问题是否会被固定在下一个版本的和声中?谢谢。
以上来自于百度翻译 以下为原文 Hello Chuck, I have not tried, but I assume the volume setting problem also applies to the other Harmony supported CODECs, including the AK4953. Do you know whether the AK CODEC's volume adjustment problem will be fixed in the next release of Harmony? Thanks. |
|
|
|
我们发现了以下问题的根本原因:AK438 4SAMPLEATESET在AK438 4VuluMeSet函数执行时被调用。SAMPLRATE SET命令抢占卷集命令,因此卷集命令标志不被清除,所以当下一个卷集命令进来时,AK438 4VuluMeSet函数拒绝E。采样率设置命令被称为轨道改变,这就是为什么这个问题发生在轨道改变。这个问题将被固定的所有CODECISN下一版本的和谐V2.05谢谢,恰克·巴斯
以上来自于百度翻译 以下为原文 We found the following root cause of the problem: AK4384_SampleRateSet is called when AK4384_VolumeSet function is executing. SampleRate Set command preempts Volume Set command, thus volume set command flag is not cleared, so when next volume set command come in, AK4384_VolumeSet function refuses to execute. sample rate set command is called when track is changed, that's why this issue happens at track change. This problem will be fixed for all codecs in the next version of Harmony V2.05 Thanks, Chuck |
|
|
|
只有小组成员才能发言,加入小组>>
4814 浏览 9 评论
1823 浏览 8 评论
1743 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
2949 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2055 浏览 5 评论
452浏览 1评论
1107浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
355浏览 0评论
260浏览 0评论
LAN9252使用SQI通信,进行数字复位后读BYTE_TEST异常
1777浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-18 05:50 , Processed in 0.930924 second(s), Total 72, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号