FreeBASIC マニュアルのトップに戻る

FreeBASIC Windows Ini File

目次→フォーラム→FreeBASIC→補足Simplest code to play MP3 or OGG with SDL←オリジナル・トピック

SDL で MP3、OGG を再生する 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

 このページは、下記フォーラムの日本語訳です。
Simplest code to play MP3 or OGG with SDL
by CrisDEV ≫ Jun 11, 2016 19:38

これは、SDL を使って MP3 と OGG を再生するための簡単なコードです。ご自由にお使い下さい。

環境準備:
公式サイトで、以下の Runtime Binaries ファイルをダウンロードします。

1.SDL2-2.0.5-win32-x86.zip(パソコン環境により、適切なファイルをダウンロードして下さい。)
https://www.libsdl.org/download-2.0.php

2.SDL2_mixer-2.0.1-win32-x86.zip(パソコン環境により、適切なファイルをダウンロードして下さい。)
https://www.libsdl.org/projects/SDL_mixer/

上で取得した Runtime Binaries ファイルを解凍して抽出できる、以下の 6つの DLL を、プログラム実行可能ファイルのフォルダか、\FreeBASIC\lib\win32\ に保存します。

SDL2.dll
SDL2_mixer.dll
libvorbisfile-3.dll
libvorbis-0.dll
libogg-0.dll
smpeg2.dll


プログラム例:
例えば「SDL2CrisDEV.bas」として保存します。
そして、同じフォルダに音声ファイル「music.ogg」を保存します。
この「SDL2CrisDEV.bas」をコンパイルして実行します。
'Simplest code to play MP3 or OGG with SDL
'by CrisDEV ≫ Jun 11, 2016 19:38 


#include "SDL2/SDL_mixer.bi"
dim key as string
dim MYMUSIC as Mix_Music ptr

Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,4096)
MYMUSIC = Mix_LoadMUS("music.ogg")       ' 手持ちの音楽ファイル(拡張子*.mp3 か *.ogg)です。
Mix_VolumeMusic(128)                         ' 128 は最大音量
Mix_PlayMusic(MYMUSIC,0)                     ' 0 一度再生   -1 無限繰返し

print "1 キー:停止"
print "2 キー:再生"
print "3 キー:中断"
print "4 キー:再開"
print "空白キー:終了"

'プログラムを繰返す
'Do
'   key = InKey
'
'   Select Case key
'      Case "1" : Mix_HaltMusic()
'      Case "2" : Mix_PlayMusic(MYMUSIC,0)
'      Case "3" : Mix_PauseMusic()
'      Case "4" : Mix_ResumeMusic()
'      Case Else : Exit Do  ' anything else, than the 4 above, quits the Loop/Program
'   End Select
'
'   Sleep 200
'Loop

MYLOOP:

key = inkey
if key ="1"then 
   Mix_HaltMusic()
ElseIf key = "2" then
   Mix_PlayMusic(MYMUSIC,0)
ElseIf key = "3" then
   Mix_PauseMusic()
ElseIf key = "4" then
   Mix_ResumeMusic()
ElseIf key = " " then
   goto FINALIZATION
end if

sleep 200
goto MYLOOP

FINALIZATION:
Mix_CloseAudio()
End

参考:
基本の理解に役立ちます。(FreeBasic 言語ではなく、非常に単純化されています)
Beginner's Guide to Game Programming Ep1 Part 5-B Sound in SDL
https://youtu.be/KENYA_Kz6hg?list=PL3A4F71D0B9994FC1

SDL API ゲームプログラミングの簡単な歴史
FreeBasic のコードはありませんが、理解できます。
Beginner's Guide to Game Programming Ep1 Part 1 Introduction
https://youtu.be/E4RqHtEAAds?list=PL3A4F71D0B9994FC1
補足 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2016-06-11
日本語翻訳:WATANABE Makoto、原文著作者:CrisDEV

ホームページのトップに戻る

表示-非営利-継承