MFC中使用SDL播放音频没有声音的解决方法
生活随笔
收集整理的這篇文章主要介紹了
MFC中使用SDL播放音频没有声音的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
本文所說的音頻是指的純音頻,不包含視頻的那種。
在控制臺中使用SDL播放音頻,一般情況下不會有問題。
但是在MFC中使用SDL播放音頻的時候,會出現沒有聲音的情況。經過長時間探索,沒有找到特別好的解決方案,但是有一種方式可以讓聲音播放出來:那就是讓SDL顯示圖像(視頻)時候的那個對話框彈出來,聲音就會出現了。
具體的方法可以加載一張圖片(比如說BMP),下圖所示代碼片段為加載BMP圖片的代碼。
SDL_Surface?*screen?=?SDL_SetVideoMode(640,?480,?8,?SDL_SWSURFACE);SDL_Surface?*image;/*?Load?the?BMP?file?into?a?surface?*/image?=?SDL_LoadBMP("background.bmp");if?(image?==?NULL)?{return?0;}/**?Palettized?screen?modes?will?have?a?default?palette?(a?standard*?8*8*4?colour?cube),?but?if?the?image?is?palettized?as?well?we?can*?use?that?palette?for?a?nicer?colour?matching*/if?(image->format->palette?&&?screen->format->palette)?{SDL_SetColors(screen,?image->format->palette->colors,?0,image->format->palette->ncolors);}/*?Blit?onto?the?screen?surface?*/if(SDL_BlitSurface(image,?NULL,?screen,?NULL)?<?0)fprintf(stderr,?"BlitSurface?error:?%s\n",?SDL_GetError());SDL_UpdateRect(screen,?0,?0,?image->w,?image->h);不明白這是為什么,但是程序就可以出聲了。
轉載于:https://my.oschina.net/leixiaohua1020/blog/302052
總結
以上是生活随笔為你收集整理的MFC中使用SDL播放音频没有声音的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mybatis批量更新转
- 下一篇: .NET程序加壳的基本原理和方式浅析