Ich möchte Audiodatei während der Aufnahme mit der Kamera wiedergeben. Ich benutzte AVAudioPlayer für die Wiedergabe von Audio und AVCamCaptureManager für die Aufnahme.Wiedergabe von Audiodateien während der Videoaufnahme in iOS
Aber wenn der Ton abgespielt wird, wird der Vorschaubildschirm eingefroren. Was soll ich machen?
Danke für Ihre Hilfe. Hier ist der Code. (Ich arbeite an AVCam Beispiel.)
Dies ist Vorschau-Teil.
if ([self captureManager] == nil) {
AVCamCaptureManager *manager = [[AVCamCaptureManager alloc] init];
[self setCaptureManager:manager];
[[self captureManager] setDelegate:self];
if ([[self captureManager] setupSession]) {
AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:[[self captureManager] session]];
UIView *view = [self videoPreviewView];
CALayer *viewLayer = [view layer];
[viewLayer setMasksToBounds:YES];
CGRect bounds = CGRectMake(0, 0, 480, 320);
[newCaptureVideoPreviewLayer setFrame:bounds];
if ([newCaptureVideoPreviewLayer isOrientationSupported]) {
[newCaptureVideoPreviewLayer setOrientation:[DeviceProperties setPreviewOrientation]];
}
[newCaptureVideoPreviewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
[viewLayer insertSublayer:newCaptureVideoPreviewLayer below:[[viewLayer sublayers] objectAtIndex:0]];
[self setCaptureVideoPreviewLayer:newCaptureVideoPreviewLayer];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[[[self captureManager] session] startRunning];
});
[self updateButtonStates];
}
Und das ist Audio-Play-Teil.
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@", sound] ofType:@"wav"]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlayer play];
Wenn ich AudioServicesPlaySystemSound normale ohne frieren, aber dieses Mal ist es funktioniert nur auf viewDidLoad.
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileRef;
soundFileRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) CFBridgingRetain(@"sound"), CFSTR ("wav"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileRef, &soundID);
AudioServicesPlaySystemSound(soundID);
Konnten Sie Ihren Code posten? – Robert
Irgendwelche Updates zu diesem Thema? Ich habe mich gefragt, ob Sie die Kamera einschalten können (nicht unbedingt Video aufnehmen), während Sie Audio mit AVAudioPlayer aufnehmen. –
ich habe auch gleich problem.was mache ich jetzt .. –