iOS에서 PhoneGap (Cordova) 용 AudioEncode 플러그인을 사용하고 있습니다. 최신 버전의 Cordova에 대한 몇 줄을 업데이트 한 후 wav 파일을 m4a로 올바르게 인코딩 한 것으로 보입니다. Xcode의 콘솔에서 나는 참조 : 내가 전화의 파일 시스템을 볼 때PhoneGap 플러그인 : AudioEncode 성공 콜백이 호출되지 않았습니다.
AVAssetExportSessionStatusCompleted
doing success callback
는, WAV 파일이 실제로 M4A되고있다. 그러나 success 콜백 (파일을 서버에 업로드하는 위치)은 절대로 실행되지 않습니다.
-(void) doSuccessCallback:(NSString*)path {
NSLog(@"doing success callback");
NSString* jsCallback = [NSString stringWithFormat:@"%@(\"%@\");", self.successCallback, path];
[self writeJavascript: jsCallback];
[self.successCallback release];
}
응용 프로그램에서 내 코드는 다음과 같이 간다 : 나는 플러그인의 doSuccessCallback
기능을 믿고있어
function encodeSuccess (path) {
console.log('Audio encoded to M4A! Preparing to upload...')
// file transfer code...
}
console.log('Preparing to encode audio file...')
window.plugins.AudioEncode.encodeAudio(entry.fullPath, encodeSuccess, fail)
가 필요
업데이트 할,하지만 난 돈이 플러그인의 관련 코드 Objective C 또는 PhoneGap 플러그인에 대한 경험이 없으므로이 시점에서 고민하고 있습니다.아이디어가 있으십니까? 목적 함수에서 C
UPDATE 내가 self.successCallback
를 기록하려고 상기 게시하며 <null>
로 기록. 그런 다음 주 encodeAudio
함수의 맨 위로 올라 갔고 self.successCallback
([arguments objectAtIndex:1]
)에 지정된 인수도 <null>
으로 기록됩니다. 그래서 콜백이 main 함수로 성공적으로 전달되지 않는 것 같습니다.
이
어쩌면 누군가가 여기에 문제가 자리 수 있으며, AudioEncode.h 파일입니다@interface AudioEncode : CDVPlugin {
NSString* successCallback;
NSString* failCallback;
}
@property (nonatomic, retain) NSString* successCallback;
@property (nonatomic, retain) NSString* failCallback;
- (void)encodeAudio:(NSArray*)arguments withDict:(NSDictionary*)options;