視線でmp3もwavも再生できるようにする② wavかmp3かどっちでも無いかを表示できた

パス名やファイル名からベース名と拡張子を取得するには?:.NET TIPS - @IT

 

上記サイト様を参考にさせていただきました。

 

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

       
        file = Pathmei[0];
        
        //拡張子の出力
        Debug.Log(Path.GetExtension(file));
        
        
        //ファイル名の出力
        Debug.Log(Path.GetFileNameWithoutExtension(file));

        Debug.Log("ひとやすみ");

 

        if (Path.GetExtension(file).Contains("mp3"))
        {
            Debug.Log("mp3あったよ");
        }
        else
        {
            Debug.Log("mp3ないよ");
        }

 

ちゃんと「あったよ」が表示されました。

mp3を見つけてくれました。

 

次に、フォルダ内のファイルを一個ずつ見て行って、

mp3があるのか、wavがあるのか、どっちもないのかを判断したいと思います。

 

 


        for(int i = 0; i < 4;)
        {
            
            Debug.Log(Pathmei[i]);
            string file = Pathmei[i];

            //拡張子の出力
            Debug.Log(Path.GetExtension(file));

            //ファイル名の出力
            Debug.Log(Path.GetFileNameWithoutExtension(file));

            

 

            if (Path.GetExtension(file).Contains("mp3"))
            {
                Debug.Log($"mp3あったよ:{i}");
            }
            else if (Path.GetExtension(file).Contains("wav"))
            {
                Debug.Log($"wavあったよ:{i}");
            }
            else
            {
                Debug.Log($"どっちもないよ:{i}");
            }

            i++;
        }

 

フォルダの中はこんな感じです。

尚、mp3のBGMには下記サイト様に大変大変お世話になっております。

amachamusic.chagasi.com

 

順番に、mp3だと「mp3あったよ」

    wavだと「wavあったよ」

    txtだと「どっちもないよ」

と表示されます。

 

後、プログラムの

  Debug.Log($"mp3あったよ:{i}");

の書き方についてなんですが、

 

最初は

  Debug.Log("mp3あったよ");

だけにしてました。

 

すると、最初の1要素目のときは表示してくれるのですが、

2要素目からは文字だけのDebug.Logは表示してくれなくなりました。

なので、このように文字と[i]とどっちも表示するようにしています。

 

きっとちゃんと理由があるのだと思いますが、今は調べきれてません。