level 1
目前我想写一个FFmpeg+SDL2的播放器,大部分都实现了,卡在了停止某一路音频的问题上。
我知道SDL_OpenAudio()和SDL_CloseAudio()是打开‘“音频设备1”的;所以我要同时播放多个音频就用了SDL_OpenAudioDevice(参数)和SDL_CloseAudioDevice(音频设备i)来打开和关闭指定的那一路。
打开多路是成功了的,可以同时播放2首歌,但是我调用SDL_CloseAudioDevice(音频设备i)关闭某一首歌的时候,2首歌全部都被关闭了,这是为什么啊?求大神指教
2017年06月03日 03点06分
1
level 1
你好,我的问题跟你一样,但是我发现,闭关不是都被关闭,SDL_OpenAudioDevice(参数)必须有一路的参数=1,(你一定是这样的,不然是不可能听到声音的),当你关闭参数=1时,整个就没声音了,相反,如果你关闭参数=2,并不影响你的第一路声音播放,我也正在考虑这个问题,尝试如果参数=1,就不关闭声音,也没什么用,因为视频关闭后,音频不管,声音回调就有杂音出现,我现在也在考虑解决,一起讨论交流
2017年06月15日 02点06分
2
请教sdl中文路径乱码怎么解决?做了个播放器路径和文件名一有中文就不能认别
2017年10月30日 07点10分
回复 千城真人✨ :Unicode字符转换问题,你在百度上搜Cstring转char*,转换方法一大堆,只有6行代码而已
2017年11月02日 00点11分
level 1
果然还是回帖有惊喜啊,干了两天没解决问题,刚刚回你一个帖子,灵感就来了
我这样解决的问题:
多线程播放多个视音频,当其中一个音频退出时,判断m_audioDeviceID==1,为真,则SDL_pauseAudio(1),为假,则SDL_CLOSEAUDIODEVICE(m_audioDeviceID),另外,再判断当前是否还有音视频播放,如果没有了,SDL_closeAudio(),解决了~!~
2017年06月15日 02点06分
3
你好,我也在支持多路音频,但是我调用SDL_CloseAudioDevice(1)并不会导致第二路音频也没了。我用的SDL2.0.4版本。
2018年06月14日 11点06分
你好,请问能发我一份这样的代码吗?谢谢
2020年03月25日 15点03分
level 1
楼主你好,我第一路音频调用 SDL_OpenAudio 成功,第二路调用SDL_OpenAudioDevice 也成功了,回调里也喂数据了,但是无声。。只用SDL_OpenAudio的话就正常播放。有知道的回答下,谢谢
2019年12月23日 11点12分
8
你问题解决了吗 怎么弄的
![[哈哈]](/static/emoticons/u54c8u54c8.png)
?
2021年05月07日 10点05分