mciと特殊文字 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 bz9  (中学生) 投稿日時 2012/5/10 21:08:40
> GOMプレイヤーでの再生はできたので、ファイルの損傷はないと思われますが、
GOMプレイヤーについて あまり知りませんが

Windows Media Player で再生できますか
できないと もしかしたら コーデックとか・・・
投稿者 JF1JAPAN  (社会人) 投稿日時 2012/5/9 21:18:42
YuOさん
できました!
マーシャリングを変える必要があったんですね
おかげさまで問題のファイルの再生ができました。
また、mciSendStringWの存在を教えてくださったshuさん、ありがとうございました。

最後にもうひとつだけ質問させてください。
さきほどのファイルとは別のmp3ファイルのことなのですが、
普通に再生しようとしてもできなかったので、
名前を「a.mp3」に変更したり、ファイルをC直下に移動しましたが、ダメでした。
GOMプレイヤーでの再生はできたので、ファイルの損傷はないと思われますが、
どのような原因が考えられるでしょうか。
投稿者 YuO  (社会人) 投稿日時 2012/5/9 04:18:22
mciSendStringやmciSendStringWの宣言を間違っていませんか。
デフォルトではStringのマーシャリングがAnsiになっているので,マーシャリングをUnicodeにしないといけません。

ちなみにC++で確かめましたが,mciSendStringWはU+2665 (♥) を含むファイル名でもちゃんと受け付けましたよ。
投稿者 JF1JAPAN  (中学生) 投稿日時 2012/5/8 17:06:13
> mciSendStringW
やってみましたが、すべてのファイルから文字化けしたエラーメッセージが帰ってきてしまいました。
投稿者 shu  (社会人) 投稿日時 2012/5/7 23:59:48
mciSendStringW
はどうですか?
投稿者 bz9  (中学生) 投稿日時 2012/5/7 20:43:04
> なんとか特殊文字が入っていても再生できる方法はありますでしょうか。
(回答になっていないかもしれませんが)
 別のフォルダなどに 別の名前でコピーしてから再生すればいいと思います
投稿者 JF1JAPAN  (中学生) 投稿日時 2012/5/7 19:49:50
現在、VisualBasic2010で音声ファイルを再生するプログラムを作っています。
とりあえず再生はできるようになったのですが、一部のファイルを再生しようとすると、
エラー番号263
「指定されたデバイスが開かれていないか、またはMCIで認識できません。」
とエラーが帰ってきました。
ファイルパスはダブルクォーテションでくくっています。
なぜかと思い、良く見てみると、その再生できないファイルにハートの特殊文字が使われてたので、
これのせいかと思いファイル名から除いたところ、再生できるようになりました。
 やはり特殊文字はエラーを起こすのでしょうか。
再生できるのはうれしいですか、なんとかさまざまな名前の音声ファイルを再生したいです。
 なんとか特殊文字が入っていても再生できる方法はありますでしょうか。

もうひとつ質問です。 
 Call mciSendString(String.Format("open ""{0}"" alias MySound", FileName), "", 0, 0)
このmciコマンドの
「""{0}""」
は何を意味しているのですか?