【问题标题】:Get samples of audio clip in AVAudioPlayer?在 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)

【问题讨论】:

    标签: xamarin avfoundation avaudioplayer avaudioengine avaudiofile


    【解决方案1】:

    AVAudioPlayer 不允许您访问样本数据,但如果您将播放切换到AVPlayer,您可以使用MTAudioProcessingTap 在播放样本时“点击”它们。

    如果您只是想检查文件中的样本,可以使用AVAudioFile

    // get the total number of samples
    var audioFile = new AVAudioFile(file, out outError);
    var samples = audioFile.Length;
    

    【讨论】:

    • 太棒了!我到家时会检查的。这会帮助我获得样本总数吗?
    • 检查文件(例如AVAudioFile)会告诉你,通过点击你可以总结你看到的样本数量,但我不确定它是否会告诉你什么时候样品完成。
    • 我添加了一个我认为是样本长度的示例。不过我无法验证它。
    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多