トップページ > 記事閲覧
Android版:GetFrequencySoundMem
名前:was-blue.0793 日時: 2017/10/27 19:44

Android版DXライブラリにバグのような挙動を発見したので報告です。 GetCurrentPositionSoundMemでサンプル単位の再生位置を取得し、それをGetFrequencySoundMemで取得した再生周波数(1秒当たりのサンプル数)で割って再生位置を時間で得る処理があるのですが、 GetFrequencySoundMemで得られる数値が実際の1秒当たりのサンプル数より小さい数値が返ってきているようで、正常に時間が取得できません。 GetSoundCurrentTimeを使っても同様の値が得られますが、圧縮形式だと正しい値が返ってこない可能性があるとのことで、 再生位置の時間が正確に測れている必要がある処理があるためGetCurrentPositionSoundMemで得られる値をGetFrequencySoundMemで得られる値で割って得られる時間を使いたいです。 なお、手元の環境では44100Hzのwavファイルで、このwavファイルのサウンドハンドルをGetFrequencySoundMemに渡すと「128」という値が返ってきました。
メンテ

Page: 1 |

Re: Android版:GetFrequencySoundMem ( No.1 )
名前:管理人 日時:2017/10/29 01:23

すみません、Android版で GetFrequencySoundMem の処理を実装していませんでした なので、GetFrequencySoundMem を呼んだ後 128 という値が変数に代入されていたのではなく、 おそらく最初から 128 という値が変数に代入されていたのだと思います ( Android版では変数に値を入れる処理を行っていなかったので… ) 再生周波数を変数に代入するように修正したバージョンをアップしましたので、 よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.exe // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.exe // Android版 x86用
メンテ
Re: Android版:GetFrequencySoundMem ( No.2 )
名前:was-blue.0793(解決) 日時:2017/11/04 22:45

最新のVer3.19においてGetFrequencySoundMemで同じwavファイルのサウンドハンドルを渡したところ「44100」という値が戻ってきて、バグが修正されていることを確認しました。 迅速な対応ありがとうございます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存