// // Copyright 1999-2015 MyApp // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // #import #import typedef void(^didPlayFinish)(void); typedef void(^didRecordFinish)(NSString *urlKey, NSInteger time); @class MTAudioManager; @protocol MTAudioManagerRecordDelegate @optional - (void)audioManagerDidStopedRecord:(MTAudioManager *)audioManager audioPath:(NSString *)audioPath duration:(NSInteger)duration ; - (void)audioManager:(MTAudioManager *)audioManager audioPath:(NSString *)audioPath recordingProgress:(NSTimeInterval)currentDuration; @end @interface MTAudioManager : NSObject @property (nonatomic, strong) AVAudioPlayer *player; @property (nonatomic, strong) AVAudioRecorder *recorder; @property (nonatomic, weak) id recordDelegate; + (instancetype)sharedInstance; - (void)playWithData:(NSData *)data finish:(didPlayFinish) didFinish; - (void)stopPlay; - (BOOL)startRecord; - (void)stopRecord; - (BOOL)initRecord; - (CGFloat)peakPowerMeter; - (NSTimeInterval)recordTime; @end