ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Visual Basic User's Clubコミュの[質問]MCIコントロールでのseek

  • mixiチェック
  • このエントリーをはてなブックマークに追加
マイナーな質問ですみません。
VB6でWMAファイルのプレイヤーを作製しています。
MCIを使っているのですが,seekだけうまく動作しません。
seek後のポジションが0になってしまいます。

Call mciSendString("seek """ & file1 & """ to " & ds, "", 0, 0)

time formatなどは指定済みです。
この動作は仕様でしょうか? 解決策はありますでしょうか?
ほかのコンポーネントでなにかよいものはありますでしょうか? 

WindowsXP MediaPlayer9/10

コメント(3)

time format と ds が正しければ、ちゃんと動くはず!

と言いたいところだけど、そうでもない。
play 中に seek をかけると、数秒〜数百秒、吹っ飛ぶことがある(勝手に進んでしまう)。
stop してから seek、かつ status position で確認してから再度 play がよろしいかと。

seek してポジションが 0 になるとしたら、time format が合ってない、と思うけどな〜 milliseconds のつづりが違うとかね……
MCI自体お遊び程度しか触ったことがないのですが、MCI+WMAの仕様と言うよりWMAに保存されている圧縮方式で動作が変わった記憶があります。
DirectX+WMAでも同じような動作をすることがありますので、"多分"回避は不可能じゃないかな?と私自身は思っていますが。

MPEGの様なフレーム間の差分しかない圧縮形式+ソフトコーディックだと間違いなくフレームが吹っ飛ぶかseekそのものが効かなかったはずです。
time formatのとこはリファレンスからのコピペですので,綴りは大丈夫かと思いますが,確認してみます。停止してseekなどはうまくいきませんでした。コマンドラインから1ステップずつやっても変でした。 >つく

ボイスレコーダで録音したWMAを前提としていますので,コーデックはかなり変なものかもしれません。違うフォーマットのWMAなどで試してみます。 >おとと

最悪,前処理でフォーマット変換かなぁ。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Visual Basic User's Club 更新情報

Visual Basic User's Clubのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング