AVAudioPlayer 和 AVAudioRecorder:未调用委托方法

2024-01-02

我的委托方法audioRecorderDidFinishRecording and audioPlayerDidFinishPlaying没有被调用。这些方法应该触发“stopanimation”方法,该方法在录制完成后停止动画。

我已拨打电话至stopanimation方法在最后audioPlayerDidFinishPlaying.

这是分配委托的相关代码:

   VoiceEditor.h

    @interface VoiceEditor : UIViewController <UITextFieldDelegate, AVAudioRecorderDelegate, AVAudioPlayerDelegate>{    
}

VoiceEditor.m

- (void)record{
    recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:pathString] settings:recordSettings error:nil];
    [recorder setDelegate:self];
    [recorder record];
    recording = YES;        
    [pauseButton setImage:[UIImage imageNamed:@"stop.png"] forState:UIControlStateNormal];
    [pauseButton setEnabled:YES];
    [playButton setEnabled:NO];
    [recordButton setEnabled:NO];  
    [self beginAnimation];
}

- (void)play{              
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:pathString] error:nil];
    double seconds=[player duration];
    NSLog(@"%f",seconds);
    [player setDelegate:self];
    [player play];
    playing = YES;              
    [recordButton setEnabled:NO];
    [pauseButton setEnabled:YES];
    [playButton setEnabled:NO];     
    [self beginAnimation];
}

您设置委托的代码看起来不错。

您是否假设委托方法被调用不仅仅是因为动画没有停止,或者您是否尝试直接记录/断点方法?如果您还没有直接进行测试,请先假设它们没有进行测试。

如果您已确认它们没有被称为,那么很可能您的动画正在捆绑self对象,使其无法响应 AV 委托方法。

注释掉动画,然后将日志放入 AV 委托方法中以查看它们是否被调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AVAudioPlayer 和 AVAudioRecorder:未调用委托方法 的相关文章

随机推荐

  • 错误:定义表达式时出现“意外符号”

    我正在上一门统计和数据分析课 最近开始使用 R 我收到一条错误消息 到目前为止我还无法准确确定错误是什么或如何修复它 我们得到了绘制该函数的指示 y 0 1x 4 0 5x 3 x 2 3x 2 下一条指令要求遵循此编码并输入上述函数 gt
  • jquery deferred - 等待两个调用完成

    我正在寻找一种在两个 ajax 调用完成后进行回调的方法 when call1 call2 always function Here I want to be sure the two calls are done and to get t
  • 使用facet_wrap显示多个直方图

    样本数据 df lt data frame id rep 1 6 each 50 x rnorm 50 6 mean 10 sd 5 y rnorm 50 6 mean 20 sd 10 z rnorm 50 6 mean 30 sd 15
  • 将 xtable 与 longtable 选项一起使用时重复标头

    在使用 longtable 选项生成 xtable 时 有没有办法重复顶行 设置标题 例如 如果我有 tableSb lt xtable df caption A Very Long Table label ALongTable print
  • 处理不是 Action 请求的 Multipart 请求?

    我一直在想是否可以处理不是操作请求的多部分请求 对我来说这似乎不可能是有原因的 只有 ActionRequest 实现 getFile 类方法 我不能 找到任何简单的方法来获取文件 出于除 Action 之外的请求 要求 如果我不使用 ht
  • 不在 UI 线程中触发 PropertyChanged 会产生哪些副作用?

    如果您实现 INotifyPropertyChanged 您可以在非 UI 线程中引发事件 我应该避免这种情况吗 为什么 Update 这是关于 wpf 应用程序中的绑定 不 你不应该避免这个 WPF 元帅PropertyChanged代表
  • 使用 XSL 封装 HTML 中的单词

    我需要在 HTML 文档中用标签 例如 span 包装每个单词 例如 div Text in a div div div Text in a div p Text inside a p p div 得到这样的结果 div span Text
  • 为了学习目的,Erlang 有哪些有趣的项目可以解决? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近发现了 Erlang 现在正在学习几个教程 到目前为止 我期待着将一些东西作为一个业余爱好项目来实际实施 我对另一个聊天服务器并不真正感兴
  • NetBeans 安装程序未正确找到 Java

    我正在尝试安装 NetBeans 全部 包 并且我很确定我已经安装了 Java SE 开发工具包 但是它没有正确定位它 它出现了错误 Java SE Development Kit JDK was not found on this com
  • 如何仅使用 javascript 将页面高度增加 X 像素

    假设一个 HTML 页面 html content outside of our control javascript block some more html content outside of our control 进一步假设我们能
  • Google 地方信息返回错误的城市

    我正在使用 google autocomplete Places API 构建一个应用程序 如果我对地址 Pongal New York NY United States 使用预测建议 我会在返回地点对象中得到以下项目 地区 曼哈顿 Adm
  • 如何将 numpy 数组转换为 mp3 文件

    我正在使用声卡库来记录我的麦克风输入 它记录在 NumPy 数组中 我想抓取该音频并将其保存为 mp3 文件 Code import soundcard as sc import numpy import threading speaker
  • 像 Exposé 中那样放置框

    有谁知道如何找到最适合特定区域的矩形 矩形可以放大到一定限度 但它们应该保持其比例 我基本上想重建 Mac OS 的 Expos Picture http switchtoamac com guides images expose all
  • 如何解决现有文件和符号链接之间的 npm install 冲突?

    我遇到了一个问题NPM https www npmjs com 它似乎正在检测具有相同名称的现有文件和符号链接之间的冲突 运行时我没有看到任何符号链接ls l从我的项目的根文件夹 我如何弄清楚 NPM 发生了什么并解决这个冲突 持续集成构建
  • 如何区分两棵树以确定父母的变化?

    我有一个树结构 需要重新排列 拖放 然后提交更改 捕捉变化的最佳方式是什么 据我所知 有两种方法 存储每个更改命令 提交更改列表 然后执行每个更改命令 序列化树 然后将新树与旧树进行比较以找出更改的内容 然后执行更改 1 似乎最容易实现 尽
  • 更新后 SQL Server 错误:提供给函数的令牌无效

    我正在使用我的机器 和 SSMS 一切正常 我重新启动后 Windows 10 应用了以下更新 Windows Malicious Software Removal Tool for Windows 8 8 1 10 and Windows
  • 在networkx中按权重对边缘进行着色

    我在这里只找到了与我想要的类似的东西 根据权重对网络边缘进行着色 https stackoverflow com questions 17632151 coloring networkx edges based on weight 但是我似
  • 在 PHP 中传递带有参数的回调

    我有一个 PHP 库函数 需要一个不带参数的回调 我知道我可以传递对象的方法array this my function name 但我怎样才能给参数my function name 我找到了一个解决方案 使用create function
  • gulp watch 立即终止

    我有一个非常小的 gulpfile 如下 注册了一个监视任务 var gulp require gulp var jshint require gulp jshint gulp task lint function gulp src app
  • AVAudioPlayer 和 AVAudioRecorder:未调用委托方法

    我的委托方法audioRecorderDidFinishRecording and audioPlayerDidFinishPlaying没有被调用 这些方法应该触发 stopanimation 方法 该方法在录制完成后停止动画 我已拨打电