MeiCam SDK For iOS  3.10.0
NvsWaveformDataGenerator.h
Go to the documentation of this file.
1 //================================================================================
2 //
3 // (c) Copyright China Digital Video (Beijing) Limited, 2021. All rights reserved.
4 //
5 // This code and information is provided "as is" without warranty of any kind,
6 // either expressed or implied, including but not limited to the implied
7 // warranties of merchantability and/or fitness for a particular purpose.
8 //
9 //--------------------------------------------------------------------------------
10 // Birth Date: Apr 08. 2021
11 // Author: Meishe video team
12 //================================================================================
13 #pragma once
14 
15 #import <Foundation/Foundation.h>
16 #import "NvsAVFileInfo.h"
17 
19 @optional
20 
40 - (void)didWaveformDataReady:(int64_t)taskId audioFilePath:(NSString*)audioFilePath audioFileSampleCount:(int64_t)audioFileSampleCount samplesPerGroup:(int64_t)samplesPerGroup leftWaveformData:(NSData *)leftWaveformData rightWaveformData:(NSData *)rightWaveformData;
41 
55 - (void)didWaveformDataGenerationFailed:(int64_t)taskId audioFilePath:(NSString*)audioFilePath samplesPerGroup:(int64_t)samplesPerGroup;
56 
57 @end
58 
72 NVS_EXPORT @interface NvsWaveformDataGenerator : NSObject
73 @property (nonatomic, weak) id<NvsWaveformDataGeneratorDelegate> delegate;
74 
84 - (instancetype)init;
85 
97 - (int64_t)getAudioFileDuration:(NSString*)audioFilePath;
98 
110 - (int64_t)getAudioFileSampleCount:(NSString*)audioFilePath;
111 
121 - (void)cancelTask:(int64_t)taskId;
122 
142 - (int64_t)generateWaveformData:(NSString*)audioFilePath samplesPerGroup:(int64_t)samplesPerGroup startGroupIndex:(int64_t)startGroupIndex groupCount:(int64_t)groupCount flags:(int)flags;
143 
144 - (void)notifyWaveformDataReady:(int64_t)waveformTaskId samplesPerGroup:(int64_t)samplesPerGroup leftWaveformData:(NSData *)leftWaveformData rightWaveformData:(NSData *)rightWaveformData;
145 
146 - (void)notifyWaveformDataFailed:(int64_t)waveformTaskId samplesPerGroup:(int64_t)samplesPerGroup;
147 
148 @end
149 
NvsWaveformDataGeneratorDelegate-p
Definition: NvsWaveformDataGenerator.h:18
-[NvsWaveformDataGenerator init]
instancetype init()
Initialization.
NvsWaveformDataGenerator
Audio waveform data generator.
Definition: NvsWaveformDataGenerator.h:73
NvsAVFileInfo.h
NVS_EXPORT
#define NVS_EXPORT
Definition: NvsCommonDef.h:20
NvsWaveformDataGenerator::delegate
id< NvsWaveformDataGeneratorDelegate > delegate
Definition: NvsWaveformDataGenerator.h:73