[英]GPUImageMovieWriter not recording audio
I saw a previous thread had the same issue but I wanted to see if there are any ideas. 我看到以前的线程也有同样的问题,但是我想看看是否有任何想法。 I have an app where I take a sequence of photos then an option to record a message pops up.
我有一个应用程序,可以在其中拍摄一系列照片,然后弹出一个记录消息的选项。 I have my exposure locked but when I go to record a video it unlocks and it doesn't go back to the original state when I am done recording.
我的曝光已锁定,但是当我去录制视频时,它会解锁,录制完成后它不会回到原始状态。 I moved
我搬家了
self.stillCamera.audioEncodingTarget = self.movieWriter;
to 至
viewDidLoad
like a previous thread said to do. 就像之前所说的那样。 This fixed the exposure issue but now there is no audio.
这解决了曝光问题,但是现在没有音频。 I am stumped.
我感到难过。
Here's some of the code. 这是一些代码。
(void)viewDidLoad {
[super viewDidLoad];
self.library = [[ALAssetsLibrary alloc] init];
takephotocolor.hidden = YES;
takephotobw.hidden = YES;
self.stillCamera.audioEncodingTarget = self.movieWriter;
}
(IBAction)StartButtonPressed:(id)sender {
if(!self.transform){
self.transform = [[GPUImageTransformFilter alloc] init];
CATransform3D perspectiveTransform = CATransform3DScale(CATransform3DMakeRotation(0, 0, 0, 1),
-1, 1, 1);
[self.transform setTransform3D:perspectiveTransform];
}
[self.filter addTarget:self.transform];
self.pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/movie.mov"];
unlink([self.pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:self.pathToMovie];
self.movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(1024.0, 768.0)];
[self.transform addTarget:self.movieWriter];
[self.movieWriter startRecording];
btnStart.hidden = YES;
btnStop.hidden = NO;
NSLog(@"START RECORDING");
}
(IBAction)StopButtonPressed:(id)sender {
self.stillCamera.audioEncodingTarget = nil;
[self.movieWriter finishRecording];
[self.filter removeTarget:self.transform];
[self.transform removeAllTargets];
UISaveVideoAtPathToSavedPhotosAlbum(self.pathToMovie, self, nil, nil);
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(goVideo) userInfo:nil repeats:NO];
}
Try putting self.stillCamera.audioEncodingTarget = nil;
尝试将
self.stillCamera.audioEncodingTarget = nil;
after the call to [self.movieWriter finishRecording];
在调用
[self.movieWriter finishRecording];
That's how I have it set up at least. 至少我就是这样设置的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.