小编Edw*_*ham的帖子

为什么imagepickercontroller:didFinishPickingMediaWithInfo会在压缩屏幕后转到后台后应用程序唤醒时调用?

在视频选择UIImagePickerController期间.控件选择视频并进入压缩屏幕.此时应用程序转到后台.当应用程序唤醒时,压缩被解除并且调用imagepickercontroller:didFinishPickingMediaWithInfo委托方法.甚至在压缩完成之前.

  1. 为什么会这样?
  2. 有没有办法恢复压缩?
  3. UIImagePickerController是否有任何压缩处理程序?

示例代码使用了PhotoPicker

iphone uiimagepickercontroller ios

5
推荐指数
0
解决办法
204
查看次数

在iOS7及以上版本中,在Receiver和Speaker之间切换音频输出?

我有一个音频播放器,当接近传感器通知1时,可选择将音频输出从扬声器切换到接收器/听筒(无论是否连接了耳机).以下是我的代码.

- (void) switchAudioOutput:(NSString*)output{
    AVAudioSession* audioSession = [AVAudioSession sharedInstance];
    BOOL success;
    NSError* error;

    if([output isEqualToString:keAudioOutputReciever]){
        //Force current audio out through reciever
        //set the audioSession override
        success = [audioSession overrideOutputAudioPort:AVAudioSessionPortOverrideNone
                                             error:&error];
        if (!success)
            NSLog(@"AVAudioSession error overrideOutputAudioPort:%@",error);

        //activate the audio session
        success = [audioSession setActive:YES error:&error];
        if (!success)
            NSLog(@"AVAudioSession error activating: %@",error);
        else
            NSLog(@"AVAudioSession active with override: AVAudioSessionPortOverrideNone");

    }else if([output isEqualToString:keAudioOutputSpeaker]){
        //set the audioSession override
        success = [audioSession overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker
                                                  error:&error];
        if (!success)
            NSLog(@"AVAudioSession error overrideOutputAudioPort:%@",error);

        //activate the audio session
        success = [audioSession …
Run Code Online (Sandbox Code Playgroud)

ios avaudiosession ios7

5
推荐指数
1
解决办法
4007
查看次数

Redbar在解雇UIImagePickerController时注意到

我正在使用UIImagePickerController来记录,编辑和保存视频到文件.在关闭UIImagePickerController时,状态栏闪烁红色并消失.我想避免这种情况.我一直在注意到iOS8.1,iOS8,iOS7.1等频率的降低

- (void) cameraClicked{
    self.recordState=KRERecordStateRecording;
    UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
    pickerController.delegate  = self;
    pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

    if(self.mediaType==MediaTypePhoto){
        pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];

    }else if(self.mediaType==MediaTypeVideo){
        pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];
        pickerController.allowsEditing = YES;
        pickerController.videoMaximumDuration=30.0f;
    }
    [self presentViewController:pickerController animated:YES completion:nil];
}

- (void)imagePickerController:(UIImagePickerController *)picker
        didFinishPickingImage:(UIImage *)image
                  editingInfo:(NSDictionary *)editingInfo{

}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info{

    [picker dismissViewControllerAnimated:YES completion:nil];

    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
    if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0)
        == kCFCompareEqualTo) {
        self.selectedMedia …
Run Code Online (Sandbox Code Playgroud)

uiimagepickercontroller ios

4
推荐指数
1
解决办法
805
查看次数