WAVEOUTCAPS構造体の定数について

[戻る]
ぴょぴょ 2008/07/15(火) 09:49:43
お世話になります。

質問は waveOutGetDevCaps API関数で使う定数です。
この関数は WAVEOUTCAPS 構造体にいろいろと情報を返してきます。
そして dwSupport メンバにサウンド・デバイスがサポートしている機能を
フラグでチェックできるようです。

[定数列挙]
WAVECAPS_PITCH           ピッチ変更をサポート
WAVECAPS_PLAYBACKRATE    再生レート変更をサポート
WAVECAPS_VOLUME          ボリューム変更をサポート
WAVECAPS_LRVOLUME        左右チャンネルをサポート
WAVECAPS_SYNC            不明
WAVECAPS_SAMPLEACCURATE  不明

上記の定数は MMSystem.h を検索して英語コメントを自分なりに和訳しました。
しかしWAVECAPS_SYNC、WAVECAPS_SAMPLEACCURATEの2つはコメントがありません。
この2つの定数の意味を教えていただきたいです。
よろしくお願い致します。

仲澤@失業者 2008/07/15(火) 10:11:48
MSDNには解説がありますね。

「http://msdn.microsoft.com/en-us/library/ms713743(VS.85).aspx」
「WAVECAPS_SYNC」は複数の出力バッファを同期してくれるらしい。
「WAVECAPS_SAMPLEACCURATE」は再生位置情報に関する能力らしいです。

ソースを見るのも重要ですが、とりあえずMSDNでしょう。
ちなみに

> WAVECAPS_LRVOLUME        左右チャンネルをサポート

は、「左右のボリュームをサポート」とありますよ。

海の子 2008/07/15(火) 10:16:14
教えることはできないんですが、コピーすることはできるので。
BC++B6のSDKのヘルプにありました。BC++B6のヘルプは最新ではありません。

この程度でもよろしいんでしょうか? でも、意味まではわからない。

dwSupport

Optional functionality supported by the device. The following values are 
defined:

WAVECAPS_LRVOLUME    Supports separate left and right volume control.
WAVECAPS_PITCH    Supports pitch control.
WAVECAPS_PLAYBACKRATE    Supports playback rate control.
WAVECAPS_SYNC    The driver is synchronous and will block while playing a 
buffer.
WAVECAPS_VOLUME    Supports volume control.
WAVECAPS_SAMPLEACCURATE    Returns sample-accurate position information.

意味がわかれば私も知りたい。waveOut..(); をたくさん使っているので。

ぴょぴょ 2008/07/15(火) 10:34:47
仲澤@失業者さん。
海の子さん。
書き込みありがとうございます。

> MSDNには解説がありますね。
こちらも調べては見ましたが WAVEOUTCAPS 構造体のページには
解説がなかったです。

> ソースを見るのも重要ですが、とりあえずMSDNでしょう。
関数の方は調べていませんでした。

> 教えることはできないんですが、コピーすることはできるので。
こちらもいろいろと調べたら見つかりました。

[WAVECAPS_SYNC]
1...The driver is synchronous and will block while playing a buffer
2...Supports synchronous playback -- i.e., it will block while playing 
buffered audio.
3...driver is synchrounous and playing is blocking
これは、同期動作をサポートしていて、バッファの再生中はブロックする
という意味なのでしょうか?

[WAVECAPS_SAMPLEACCURATE]
1...Returns sample-accurate position information
2...Supports returning of sample-accurate position information.
3...position is sample accurate
こちらは、再生位置情報を取得可能な機能をサポートしている
という意味になるのかな?

なかなかうまく訳せないです。
上記の訳であっているのでしょうか。
何方かに訳の確認をお願いしたいです。

辞書サイトで調べながらやっているのですが、専門用語は難しいです。
[sample-accurate]の sample ってどう訳せばいいんろう?

ぴょぴょ 2008/07/15(火) 10:45:04
> [sample-accurate]の sample ってどう訳せばいいんろう?
サンプリングのことかな。
そうなると再生?

かもねぎ 2008/07/15(火) 11:47:55
Sample Accurete とは発音タイミングのことかも
デバイスでサポートされていないと微妙に発音タイミングがずれるみたい

ぴょぴょ 2008/07/15(火) 12:56:32
> Sample Accurete とは発音タイミングのことかも
そうなると WAVECAPS_SAMPLEACCURATE は
[発音タイミング位置の取得機能をサポート]
と訳せばいいのかな。

> The driver is synchronous and will block while playing a buffer.
これは
[ドライバは同期をサポートして、バッファ再生中は他のバッファを
ブロックする機能もサポート]でいいのかな。

tetrapod 2008/07/15(火) 13:28:55
自信の無い訳語をヘンにつかうより原文のまま表記するほうが
・よく知っている人にとっては原文のほうが誤訳より100倍マシ
・よく知らない人には英文でも誤訳であも、どっちでもどうでもいい
わけで、おかしな用語を使うくらいなら英文表記にしておくべし

ぴょぴょ 2008/07/15(火) 20:14:48
[[解決]]
> わけで、おかしな用語を使うくらいなら英文表記にしておくべし
確かにそうですね。

WAVECAPS_VOLUME、WAVECAPS_SAMPLEACCURATEの2つは後回しにしようと思います。
現時点では英語表記のままにしておきます。
一通り解決。

古いスレッドには追加発言できません。