游雁
2024-02-19 94de39dde2e616a01683c518023d0fab72b4e103
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
 * Copyright FunASR (https://github.com/alibaba-damo-academy/FunASR). All Rights
 * Reserved. MIT License  (https://opensource.org/licenses/MIT)
 */
 
//
//  AudioRecorder.h
//  paraformer_online
//
//  Created by 邱威 on 2023/6/6.
//
 
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
 
 
NS_ASSUME_NONNULL_BEGIN
 
#define RECORDER_NOTIFICATION_CALLBACK_NAME @"recorderNotificationCallBackName"
#define kNumberAudioQueueBuffers 3 //缓冲区设定3个
#define kDefaultSampleRate 16000    //采样率
#define kBufferByteSize (kDefaultSampleRate/100*2)//960
#define kDataSize 2048
 
typedef void (^AudioRecorder_inputBlock)(NSData *speechData);
 
@interface AudioRecorder : NSObject
{
    AudioQueueRef _audioQueue;
    AudioStreamBasicDescription audioFormat;
    AudioQueueBufferRef _audioBuffers[kNumberAudioQueueBuffers];
    char data[kDataSize];
    int offset;
 
}
 
@property (nonatomic, assign) BOOL isRecording;
@property (atomic, assign) NSUInteger sampleRate;
 
@property (nonatomic,copy) AudioRecorder_inputBlock inputBlock;
 
-(void)start;
 
-(void)stop;
 
@end
 
NS_ASSUME_NONNULL_END