視線で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には下記サイト様に大変大変お世話になっております。
順番に、mp3だと「mp3あったよ」
wavだと「wavあったよ」
txtだと「どっちもないよ」
と表示されます。
後、プログラムの
Debug.Log($"mp3あったよ:{i}");
の書き方についてなんですが、
最初は
Debug.Log("mp3あったよ");
だけにしてました。
すると、最初の1要素目のときは表示してくれるのですが、
2要素目からは文字だけのDebug.Logは表示してくれなくなりました。
なので、このように文字と[i]とどっちも表示するようにしています。
きっとちゃんと理由があるのだと思いますが、今は調べきれてません。