【问题标题】:AVAudioPlayer stops automatically when app joins agora.io channel应用加入 agora.io 频道时,AVAudioPlayer 自动停止
【发布时间】:2020-07-19 10:18:20
【问题描述】:

当用户在我的应用中点击通话按钮/joinChanne(Agora) 时,我正在添加声音。

    [self.agoraKit joinChannelByToken:self.userManager.agoraToken channelId:self.userManager.channelName info:nil uid:[self.userManager.UID integerValue] joinSuccess:^(NSString *channel, NSUInteger uid, NSInteger elapsed) {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"ringing-sound-jalebi" ofType:@"mp3"];
        NSURL *soundFileURL = [NSURL fileURLWithPath:path];
        self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
        self.audioPlayer.delegate = self;
       [self.audioPlayer play];
     }];

但我收到“AVAudioSession.mm:997:-[AVAudioSession setActive:withOptions:error:]:停用正在运行 I/O 的音频会话。所有 I/O 应在停用音频之前停止或暂停会话”错误。有人可以帮我解决这个问题吗

【问题讨论】:

    标签: ios objective-c avaudioplayer avaudiosession agora.io


    【解决方案1】:

    当你加入通话时,Agora SDK 似乎会自动停用任何现有的 AVAudioSessions,以确保你能听到与你通话的人的声音。我建议改为通过 Agora 的sound mixing API 播放声音。

    // Plays an audio effect file.
    int soundId = 1; // The sound ID of the audio effect file to be played.
    NSString *path = [[NSBundle mainBundle] pathForResource:@"ringing-sound-jalebi" ofType:@"mp3"]; // The file path of the audio effect file.
    int loopCount = 1; // The number of playback loops. -1 means an infinite loop.
    double pitch = 1; // Sets the pitch of the audio effect.
    double pan = 1; // Sets the spatial position of the audio effect. 0 means the effect shows ahead.
    double gain = 100; // Sets the volume. The value ranges between 0 and 100. 100 is the original volume.
    BOOL publish = true; // Sets whether to publish the audio effect.
    [self.agoraKit playEffect:soundId filePath:path loopCount:loopCount pitch:pitch pan:pan gain:gain publish:publish];
    

    【讨论】:

    • 感谢您的解决方案。现在如何停止音频??
    • 调用 pauseEffect: 或 stopEffect: 与您播放的效果的 id。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多