要编写一个方法来打开、开始播放音频文件并返回其持续时间,可以使用WPF中的MediaPlayer类。以下是一个示例方法:
using System;
using System.IO;
using System.Windows.Media;
public static TimeSpan PlayAudioAndGetDuration(string audioFilePath)
{
if (!File.Exists(audioFilePath))
{
throw new FileNotFoundException("音频文件未找到", audioFilePath);
}
var mediaPlayer = new MediaPlayer();
mediaPlayer.Open(new Uri(audioFilePath));
mediaPlayer.Play();
return mediaPlayer.NaturalDuration.TimeSpan;
}
这个方法接受一个音频文件路径作为参数,并返回音频文件的持续时间。首先,检查文件是否存在,然后创建一个新的MediaPlayer实例,使用Open方法打开音频文件,并使用Play方法开始播放。最后,返回NaturalDuration属性的TimeSpan值作为音频文件的持续时间。
请注意,这个方法不会等待音频文件播放完成,而是立即返回持续时间。如果需要等待播放完成,可以使用MediaPlayer的MediaEnded事件。
上一期刚刚掀完桌子没多久《Android MP3录制,波形显示,音频权限兼容与播放》,就有小伙伴问我:“一个音频的网络地址,如何根据这个获取它的波形图?”··· WTF(ノಠ益ಠ)ノ彡┻━┻,那一瞬间那是热泪盈眶啊,为什么我就没想到呢···反正肯定不是为了再水一篇文章就对了<( ̄︶ ̄)>。
我是DEMO领取专属 10元无门槛券
手把手带您无忧上云