小编che*_*eng的帖子

ios中使用AudioQueue播放PCM音频流,第一次可以,但是15分钟后没有声音

我从RTMPPacket获取音频数据,并使用AudioQueue在IPAD中播放它。
首先,声音好听。但大约15分钟后,就没有声音了。
然后数据就ok了,队列正在播放。
我不知道为什么。谁能帮我?谢谢。

这是我用来播放音频的类。

音频播放器.h

#import <Foundation/Foundation.h>
#import <CoreAudio/CoreAudioTypes.h>
#import <CoreFoundation/CoreFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
#include <unistd.h>

#define kNumberBuffers 3

@interface AudioPlayer : NSObject
{
AudioQueueRef                   mQueue;
AudioQueueBufferRef             mBuffers[kNumberBuffers];
AudioStreamBasicDescription     mPlayFormat;
int                             mIndex;
@public
Boolean                         mIsRunning;
Boolean                         mIsInitialized;
int                             mBufferByteSize;
int                             pip_fd[2];
UInt32                          mNumPacketsToRead;
}
@property AudioQueueRef mQueue;

-(id)init;
-(id)initWithSampleRate:(int)sampleRate;
-(void)startPlayWithBufferByteSize:(int)bufferByteSize;
-(void)stopPlay;
-(void)putAudioData:(short*)pcmData;
@end
Run Code Online (Sandbox Code Playgroud)

音频播放器.m

#import "AudioPlayer.h"

@implementation AudioPlayer
@synthesize mQueue;

void AQBufferCallback(void *                inUserData ,
                  AudioQueueRef         inAQ,
                  AudioQueueBufferRef   inBuffer)
{
    AudioPlayer *THIS = (__bridge AudioPlayer *)(inUserData);

    if(THIS->mIsRunning)
    {
        inBuffer->mPacketDescriptionCount = …
Run Code Online (Sandbox Code Playgroud)

audio audioqueue ios

5
推荐指数
0
解决办法
1155
查看次数

标签 统计

audio ×1

audioqueue ×1

ios ×1