Re: SetLoopPosSoundMem() について ( No.1 ) |
- 名前:管理人 日時:2009/01/02 08:40
ご報告ありがとうございます
思い当たるフシはあるのですが、とりあえず手元で試した限りでは
ズレることなく正常にループしましたので、申し訳ありませんが幾つかご質問をさせてください
1.ご使用のDXライブラリのバージョンは幾つでしょうか?
2.具体的にどの程度ずれるのでしょうか?
3.ズレる際の SetLoopPosSoundMem に渡す値はなんでしょうか?
4.ズレるサウンドファイルのファイル形式はなんでしょうか?
5.ズレるサウンドファイルの再生時間はどれくらいでしょうか?
宜しければご返答の程、お願いします m(_ _)m
|
Re: SetLoopPosSoundMem() について ( No.2 ) |
- 名前:Sura 日時:2009/01/02 13:35
管理人様
ご返事ありがとうございます。
以下にご質問にお答えいたします。
よろしくお願いいたします。
>1.ご使用のDXライブラリのバージョンは幾つでしょうか?
Ver2.25bです ちなみにVer2.24fでは正常に再生されました。
>2.具体的にどの程度ずれるのでしょうか?
微妙なのですが、
0.1〜0.2秒程度(あくまで視聴による確認のため誤差は大きい)です。
>3.ズレる際の SetLoopPosSoundMem に渡す値はなんでしょうか?
一つ例を挙げると再生時間 32376[ms] に対して、
17244([ms]) を与えている。
その数値は DX_SOUNDDATATYPE_MEMNOPRESS では正常にループ再生される。
また、 DX_SOUNDDATATYPE_MEMPRESS に指定して、SetLoopPosSoundMem()を指定する際
たとえば、17176 < 17244 < 17535 範囲で何れも同じ位置でループ再生される。
17536 にすると突如再生位置が変わる。
恐らく2.の回答において、0.1〜0.2秒という意味は
渡す値から、17535 - 17176 = 359 により最大0.36秒のズレが生じると思われる。
この突如再生位置が変わる現象はその幅に多少の違いがあり
あるところ(確認したところ17536 < 17929 の範囲変わらない)では0.4秒で在ったりする。
>4.ズレるサウンドファイルのファイル形式はなんでしょうか?
FileType: Ogg Vorbis
FileSize: 335691 bytes
BitPerSample: 16 bits
SampleRate: 44100 Hz
Mode = Stereo
>5.ズレるサウンドファイルの再生時間はどれくらいでしょうか?
32秒376です。
|
Re: SetLoopPosSoundMem() について ( No.3 ) |
- 名前:管理人 日時:2009/01/03 17:15
ご返答ありがとうございます
お陰で原因が分かりました
修正版をアップしましたので、宜しければお試し下さい m(_ _)m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
因みに、動画ファイル形式である Ogg Theora 内の Ogg Vorbis データを参照するために
Ogg データを扱うコードに手を加えていたのが原因でした
|
Re: SetLoopPosSoundMem() について ( No.4 ) |
- 名前:Sura 日時:2009/01/04 00:11
管理人様
修正版確認いたしました。
正常に再生されました。
お手数おかけいたしました
誠にありがとうございます。
P.S.
>Ogg Theora 内の Ogg Vorbis データを参照するために
Ogg データを扱うコードに手を加えていたのが原因でした
私は、Ogg Theora作成ツールなどは持ち合わせていない且つムービーをほとんど使ったことはないのですが、
やはりライセンスのことを考えると充実してほしいですね。
なるほどそういう理由でしたか。
了解いたしました。
あと、本質ではないことですが、
リンク時にogg_static_d.lib関係の警告が出るみたいです。
もしかすると私の設定ミスすかもしれませんが?
出力された警告は以下のとおりです。
1>------ すべてのリビルド開始: プロジェクト: GameWindow, 構成: Debug Win32 ------
1>プロジェクト 'GameWindow'、構成 'Debug|Win32' の中間出力ファイルを削除しています。
1>コンパイルしています...
1>GameWindow.cpp
1>main.cpp
1>TestGame.cpp
1>コードを生成中...
1>リソースをコンパイルしています...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>マニフェストをリソースにコンパイルしています...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>リンクしています...
1>ogg_static_d.lib(framing.obj) : warning LNK4099: PDB 'vc60.pdb' が
'C:\Program Files\DxLib_VC\Projectc\ogg_static_d.lib' で、
または 'E:\user\Work\Visual Studio 2008\Projects\GameWindow\Debug\vc60.pdb' に見つかりません。
デバッグ情報がないものとして、オブジェクトにリンクします。
1>vorbis_static_d.lib(bitrate.obj) : warning LNK4099: PDB 'vc60.pdb' が
'C:\Program Files\DxLib_VC\Projectc\vorbis_static_d.lib' で、
または 'E:\user\Work\Visual Studio 2008\Projects\GameWindow\Debug\vc60.pdb' に見つかりません。
デバッグ情報がないものとして、オブジェクトにリンクします。
.
.
.
|
Re: SetLoopPosSoundMem() について ( No.5 ) |
- 名前:通 日時:2009/01/05 11:05
上記はログからVC2008によるコンパイルを
施行したものと思いますが、
vorbis_static_d.libのデバック情報がある
VC6のプログラムデータベースが見つからない
為に警告が出ています。
消したければ、vorbis_static_d.libなどの
ソースコードを入手し自分でコンパイルした
ライブラリを使うとよいかと思われます。
#pdbを含めると要領が数MBと重くなってしまうので...
|
Re: SetLoopPosSoundMem() について ( No.6 ) |
- 名前:管理人 日時:2009/01/13 00:49
> リンク時にogg_static_d.lib関係の警告が出るみたいです。
申し訳ありません、ogg_static_d.lib を作成する際のプロジェクトの設定に誤りがありました
修正版をアップしましたので、宜しければお使い下さい m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
|
Re: SetLoopPosSoundMem() について ( No.7 ) |
- 名前:Sura 日時:2009/01/13 21:58
度々恐縮です。
確認いたしました。
正常にリンクできました。
ありがとうございます。
|