200ミリ秒分の音声データとそれに対応した数値データのセットが1時間分あり、
音声を再生しつつ、それにあわせてグラフの更新(200ミリ秒ごとの更新となる)を行うことを考えています。
音声データを再生しつつ、タイマーを使って200ミリ秒周期でイベントを発生させ、
該当時間に対応した数値データをグラフ表示させるのもひとつの方法だと思うのですが、
タイマーの精度の問題か徐々に音声の再生と数値データの更新がずれてしまいます。
タイマーの精度を上げる工夫をするのもひとつの方向性だと思いますが、
音声データの再生において、200ミリ秒分再生したらイベントが発生するような仕組みがあれば
常に音声再生と該当の数値データのグラフ表示との同期がとれるのではと考えています。
音声再生において、ある一定時間再生するごとにイベントを発生させるにはどのような方法がありますでしょうか。
開発言語はC#(もしくはC++)を考えています。
No.2ベストアンサー
- 回答日時:
#1 と同じことですが.
システムは書かれてないけど Windows 以外で C# を使うというのはよくわからんので Windows だと仮定する.
DirectSound を使えば「一定量の再生を行ったらプログラムに通知させる」ことができます. もちろん厳密には「一定量以上の再生を行った」ですが, 「特定の位置にあるデータを再生した」ことでトリガーされるので誤差がつもることはないはずです.
https://msdn.microsoft.com/ja-jp/library/ee41874 …
回答ありがとうございます。
まさにこういった仕組みがないかなと探していたところです。DirectSoundを試してみます。
またわからないところがあったら質問させて頂きたいと思います。
※開発環境はwindowsです。
No.1
- 回答日時:
>タイマーの精度の問題か徐々に音声の再生と数値データの更新がずれて
なんとなくタイマーの精度とは違う原因のような気がしますが、それはさておき、通常このようなデータを扱う場合は、バッファを使います。
表示用にデータをバッファリングしておき、更新できるタイミングで最新からNサンプル(例えば200サンプル)分描画する、というような処理を行います。
タイマーイベントが期待したタイミングで受け取れないのと同様に、自前で発生させたイベントも受け取れない可能性があります。インターネット通信でも、エラーにより情報伝達が遅れるように、Windows等のマルチタスクOSではイベントの到着遅延が発生することは不可避で、時間的に余裕をもたせた開発する必要があるのです。その緩衝にバッファを使います。検討してみて下さい。
蛇足ですが、Windowsでも、100ミリ秒もズレてしまうということは少ないのではないかと思います。再生開始・タイマー受信のタイミングで時刻の表示を行って確認してみると良いと思います。
回答ありがとうございます。
>自前で発生させたイベントも受け取れない可能性があります。
タイマーと同様に受け取れない件、納得しました。
>再生開始・タイマー受信のタイミングで時刻の表示を行って確認してみると良いと思います。
まずは上記の確認してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(AV機器・カメラ) 動画音声の「一部」がモノラルオーディオだと再生できない 2 2022/11/26 20:18
- 画像編集・動画編集・音楽編集 YouTubeを録音できるソフトを教えてください。 5 2023/02/12 10:19
- ブルーレイ・プレーヤー・レコーダー ディーガでのmp4再生について 3 2022/10/17 16:46
- スピーカー・コンポ・ステレオ foobar2000で、らじるらじるだけ数秒おきに音切れが発生します 1 2022/07/06 01:24
- Windows 10 windows付属のボイスレコーダー。雑音が入らないように録音するには? 1 2022/05/16 22:39
- 統計学 風速を1秒刻みで推定する方法 6 2023/03/03 11:58
- YouTube Youtube Premiumの「ダウンロード」機能について Youtube Premiumで「ダウ 2 2022/08/26 23:43
- その他(IT・Webサービス) パソコンに保存している音声をスマホに保存して再生したいです。 windowsメディアプレイヤーをスマ 2 2022/06/02 22:00
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- 地球科学 1台のパソコンで、複数の動画サイトの音声を同時に流せるのはなぜ? 6 2022/08/25 09:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLCメディアプレイヤーで繰返し...
-
UDFを一般的なDVDにする...
-
昔録画したBDが再生できない!
-
CD-Rへ書き込んだ写真はD...
-
MP3をCD-Rに落としCDプレーヤー...
-
aviデータファイルが真っ暗な画...
-
マルチディスプレイ環境下でのB...
-
MPGファイルが再生できません(...
-
vlcプレーヤーで動画を再生した...
-
DVD-VRをPCで再生したいのですが
-
PS4の音声出力設定について
-
VLC Media Player
-
PowerDVD 9でCPRMディスクが再...
-
VideoStudioでの逆再生
-
海外正規版のDVD(ドラマ)をメル...
-
エンドレスDVD
-
市販の映像DVD等でその再生時間...
-
GOM PLAYER再生時のウィンドウ...
-
音楽CD 拡張子 CDA なのに再生...
-
BD-RからPCにコピーしたm2tsが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VLCメディアプレイヤーで繰返し...
-
写真データを焼いたDVDを、...
-
CD-Rへ書き込んだ写真はD...
-
MPGファイルが再生できません(...
-
vlcプレーヤーで動画を再生した...
-
UDFを一般的なDVDにする...
-
昔録画したBDが再生できない!
-
音楽CD 拡張子 CDA なのに再生...
-
DVD-VRをPCで再生したいのですが
-
BD-RからPCにコピーしたm2tsが...
-
GOM PLAYER再生時のウィンドウ...
-
CyberLinkのPowerDVD10が再生終...
-
PS4の音声出力設定について
-
MP3をCD-Rに落としCDプレーヤー...
-
DVDに焼いたmp3はDVDプレ...
-
aviデータファイルが真っ暗な画...
-
PowerDVD 9でCPRMディスクが再...
-
GOMPLAYERの全画面表示について
-
ps4で市販のDVD,BDを見る時の音...
-
DVDが起動できません。
おすすめ情報