在 AVAudioPlayer 中获取音频片段的样本?
Posted
技术标签:
【中文标题】在 AVAudioPlayer 中获取音频片段的样本?【英文标题】:Get samples of audio clip in AVAudioPlayer? 【发布时间】:2021-05-16 08:12:40 【问题描述】:我可以使用 AVAudioPlayer 类上的属性来获取样本吗?如果没有,我可以使用其他课程来获取此信息吗?
这是我所拥有的:
var openDialog = NSOpenPanel.OpenPanel;
openDialog.CanChooseFiles = true;
openDialog.CanChooseDirectories = false;
openDialog.AllowedFileTypes = new string[] "wav" ;
if (openDialog.RunModal() == 1)
var url = openDialog.Urls[0];
if (url != null)
var path = url.Path;
var audioplayer = AVFoundation.AVAudioPlayer.FromUrl(file);
var samples = audioplayer.SAMPLES?;
Visual Studio Mac (C# / Xamarin)
【问题讨论】:
【参考方案1】:AVAudioPlayer
不允许您访问样本数据,但如果您将播放切换到AVPlayer
,您可以使用MTAudioProcessingTap
在播放样本时“点击”它们。
如果您只是想检查文件中的样本,可以使用AVAudioFile
。
// get the total number of samples
var audioFile = new AVAudioFile(file, out outError);
var samples = audioFile.Length;
【讨论】:
太棒了!我到家时会检查的。这会帮助我获得样本总数吗? 检查文件(例如AVAudioFile
)会告诉你,通过点击你可以总结你看到的样本数量,但我不确定它是否会告诉你什么时候样品完成。
我添加了一个我认为是样本长度的示例。不过我无法验证它。以上是关于在 AVAudioPlayer 中获取音频片段的样本?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定与 AVAudioPlayer 关联的音频文件的长度
AVAudioPlayer 持续时间与音频文件的实际持续时间不匹配