視線でmp3もwavも再生できるようにする① パスを取得して再生できたがモヤっとした

wavファイルにも、mp3ファイルにも対応するように変えていきたいと思います。

 

まず、拡張子を判断できないといけないと思い、そういうプログラムを作ります。

 

 

最初に、フォルダの中のファイルのパスを取得しようと思い、こう書きました。

 

string Path = System.IO.Directory.GetFiles(mp3Path,"*",System.IO.SearchOption.AllDirectories);
    
Debug.Log(Path[0]);
         

とりあえず、本当にパスが取得できたか知りたくて1個目の要素をDebug.Logで表示してみると・・・

 

C:/sound\1.mp3

 

とっても気持ち悪いものが獲れました。

 

なんでしょうか。

/ と \ の混在。

 

モヤモヤします。

 

でも、ちゃんと再生出来ました。

 

 string Path = System.IO.Directory.GetFiles(mp3Path,"*",System.IO.SearchOption.AllDirectories);

        mp3Path = Path[2];
        Debug.Log(Path[2]);

 

こんな感じで、配列の何番目の要素をmp3Pathに入れるか指定したら、指定されたファイルを鳴らしてくれました。

 

これで、ファイル名を常に「1.mp3」とかにすることからも解放されました。

 

次に、もしwavファイルならどうするか、というプログラムを入れる必要があります。

 

まず、要素の中に、wavという文字があるかを調べようと思いました。

 

「contains」で調べられるとのことで、使ってみるとエラーが出ました。

 

 

containsがみつかりませんでした assembly-csharpusing ディレクティブまたはアセンブリ参照が不足していないことを確認してください

 

 

困りました。

 

いろいろGoogleで探して、

余計なこともやってしまいましたが、(個別のコンポーネントを追加しかけるとか)

結局、プログラムの頭にこれが無かっただけでした。

 

using System.Linq;

 

これをつけるとエラーは無くなりました。

 

しかし、残念ながら、何度containsで存在してるはずの要素名を入れても

「無いです」と言われてしまいます。