【问题标题】:iPhone vibration while playing audio播放音频时 iPhone 震动
【发布时间】:2011-09-21 08:55:27
【问题描述】:

我的应用程序使用 AudioQueue 和 AudioSession 播放音频。根据应用程序工作流程,我无法停止播放。目前,我的客户要求我根据某些条件执行 iPhone 振动。我尝试使用 AudioServices 作为系统声音或警报声音播放振动来执行它。没有积极的结果。有人可以帮助我并告诉我如何实现它吗?我正在为未越狱的 iPhone 进行合法申请,并且无法使用自定义框架,因为 Apple 可以拒绝申请。

谢谢。

【问题讨论】:

    标签: iphone audio vibration


    【解决方案1】:

    使用这个解决方案解决了:)

    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    NSError *err = nil;         
    [audioSession setCategory :AVAudioSessionCategoryPlayback  error:&err];         
    AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
    [audioSession setCategory :AVAudioSessionCategoryPlayAndRecord  error:&err];
    

    【讨论】:

      【解决方案2】:

      这就是我得到振动的方式:

      #import <AudioToolbox/AudioToolbox.h>

      AVAudioSession *audioSession = [AVAudioSession sharedInstance];
      NSError *err = nil;         
      [audioSession setCategory :AVAudioSessionCategoryPlayback  error:&err];         
      AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
      

      希望对你有帮助

      【讨论】:

      • 是的,我也做过。但现在我使用 PlayAndRecord 类别,因为我需要模拟麦克风录音以显示双高状态栏。我认为类别的问题。 :(
      【解决方案3】:

      作为参考,我没有使用AudioQueue 而是使用AVAudioEngine 来记录某些内容,就我而言,我将其归结为必须暂停输入才能在AudioServicesPlaySystemSound 期间正确播放振动录制会话。

      所以就我而言,我做了这样的事情

      audioEngine?.pause()
      AudioServicesPlaySystemSound(1519)
      do {
        try audioEngine.start()
      } catch let error {
        print("An error occurred starting audio engine. \(error.localizedDescription)")
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        相关资源
        最近更新 更多