You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.2 KiB
100 lines
2.2 KiB
//
|
|
// OpusUnit.h
|
|
// QCY_Demo
|
|
//
|
|
// Created by 杰理科技 on 2021/7/5.
|
|
// Copyright © 2021 杰理科技. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* 通知:流式编码回调Opus数据
|
|
* 通知数据类型:NSData(Opus)
|
|
*/
|
|
extern NSString *kOPUS_ENCODE_DATA;
|
|
/**
|
|
* 通知:流式解码回调PCM数据
|
|
* 通知数据类型:NSData(PCM)
|
|
*/
|
|
extern NSString *kOPUS_DECODE_DATA;
|
|
|
|
|
|
@interface OpusUnit : NSObject
|
|
|
|
+ (void)opusIsLog:(BOOL)log;
|
|
|
|
#pragma mark - Opus参数
|
|
/**
|
|
* 设置参数
|
|
* @param rate 采样率 例如:48000、24000、16000、12000、8000(默认 16000)
|
|
* @param frameRate 帧长度
|
|
* 16k :40
|
|
* 32K :80
|
|
* 64k :160
|
|
* 96k :320
|
|
* 128k:640
|
|
* @param channel 声道 例如:1、2 (默认 1)
|
|
* @param isHeader 是否带头
|
|
*/
|
|
+(void)opusSetSampleRate:(int)rate frameRate:(int)frameRate Channels:(int)channel isHeader:(BOOL)isHeader;
|
|
|
|
#pragma mark - Opus解码
|
|
|
|
/**
|
|
* 直接【opus文件】转换成【pcm文件】
|
|
* @param path_opus opus文件路径
|
|
* @param path_pcm pcm文件路径
|
|
*/
|
|
+ (int)opusDecodeOPUS:(NSString *)path_opus PCM:(NSString *)path_pcm;
|
|
|
|
/**
|
|
* 流式解码【开启】
|
|
* 注意:需要异步调用,放在工程单利类中,切勿频繁开启。
|
|
*/
|
|
+ (int)opusDecoderRun;
|
|
|
|
/**
|
|
* 输入Opus的数据
|
|
* 通知监听“kOPUS_DECODE_DATA”获得解码后数据
|
|
* 通知数据类型:NSNotification.object => NSData(PCM格式)
|
|
* @param data opus数据流(长度:1024)
|
|
*/
|
|
+ (void)opusWriteData:(NSData*)data;
|
|
|
|
/**
|
|
* 流式解码【关闭】
|
|
*/
|
|
+ (int)opusDecoderStop;
|
|
|
|
#pragma mark - Opus编码
|
|
|
|
/**
|
|
* 【pcm文件】转换成【opus文件】
|
|
*/
|
|
+ (int)opusEncodePCM:(NSString *)path_pcm OPUS:(NSString *)path_opus;
|
|
|
|
/**
|
|
* 流式编码【开启】
|
|
* 注意:需要异步调用,放在工程单利类中,切勿频繁开启。
|
|
*/
|
|
+ (int)opusEncoderRun;
|
|
|
|
/**
|
|
* 输入pcm的数据
|
|
* 通知监听“kOPUS_DECODE_DATA”获得解码后数据
|
|
* 通知数据类型:NSNotification.object => NSData(opus格式)
|
|
* @param data opus数据流(长度:1024)
|
|
*/
|
|
+ (void)pcmWriteData:(NSData*)data;
|
|
|
|
/**
|
|
* 流式编码【关闭】
|
|
*/
|
|
+ (int)opusEncoderStop;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|