-
Linux应用fastaudio启动后,打开文件\mnt\mtkdata\audio_file\sinewave_1k_48000_16bits.wav后,调用pcm_write播放,8秒后,播放完成。这样会导致vold卡住。因为在\system\vold\VolumeManager.cpp中VolumeManager::start()会调用
-
// Always start from a clean slate by unmounting everything in
// directories that we own, in case we crashed.
unmountAll();Devmapper::destroyAll();
Loop::destroyAll();
这里会卸载掉所有的目录,但是\mnt\mtkdata\audio_file\sinewave_1k_48000_16bits.wav一直被打开,所以程序会卡在destroyAll()。
解决办法:
fastaudio读取\mnt\mtkdata\audio_file\sinewave_1k_48000_16bits.wav文件到一个buffer中,然后close这个文件。
关于VolumeManager的源码,可以参考:
Android存储系统之源码篇:http://gityuan.com/2016/07/17/android-io/
遇到的问题总结
最新推荐文章于 2022-12-15 16:57:42 发布