2014-01-11 6 views
4

Я работаю над приложением iphone5, и мне нужен совет по вибрационному двигателю. Я смотрел вещи, но не мог найти, как я могу вручную повернуть свой iPhone с кода. Пожалуйста, помогите мне ... или дайте любую ссылку или идеи.Как использовать вибрацию во время записи iphone5 IOS?

Что я хочу сделать, это вибрация телефона во время записи видео ,

, но моя проблема в том, когда я начала вибрации наклоняю recrod видео .. я обнаружил, что он не будет работать, если аудио захвата работает .. поэтому я попытался с немым звук во время записи, но он не работает до сих пор

следующий мой код ..

// 
// APPViewController.m 
// 
// 
// Created by Rafael Garcia Leiva on 29/04/13. 
// Copyright (c) 2013 Appcoda. All rights reserved. 
// 

#import "APPViewController.h" 
#import <AudioToolbox/AudioToolbox.h> 
#import <AVFoundation/AVFoundation.h> 

@interface APPViewController() 

@end 

@implementation APPViewController 

- (void)viewDidLoad { 

    [super viewDidLoad]; 



} 

- (void)viewDidAppear:(BOOL)animated { 

    self.movieController = [[MPMoviePlayerController alloc] init]; 
    [self.movieController setContentURL:self.movieURL]; 

    [self.movieController.view setFrame:CGRectMake (0, 0, 320, 476)]; 

    [self.view addSubview:self.movieController.view]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:self.movieController]; 

    [[MPMusicPlayerController applicationMusicPlayer] setVolume:0]; 

    [self.movieController play]; 

    [self setupAudio]; 



} 

- (IBAction)takeVideo:(UIButton *)sender { 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsEditing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil]; 




    [self presentViewController:picker animated:YES completion:NULL]; 
    while(TRUE){ 

     AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

    } 



} 

- (void)setupAudio { 
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil]; 
    UInt32 doSetProperty = 1; 
    AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(doSetProperty), &doSetProperty); 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
} 


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

    self.movieURL = info[UIImagePickerControllerMediaURL]; 

    [picker dismissViewControllerAnimated:YES completion:NULL]; 

} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 

    [picker dismissViewControllerAnimated:YES completion:NULL]; 

} 

- (void)moviePlayBackDidFinish:(NSNotification *)notification { 

    [[NSNotificationCenter defaultCenter]removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; 

    [self.movieController stop]; 
    [self.movieController.view removeFromSuperview]; 
    self.movieController = nil; 

} 

@end 

я вибрирует мой телефон с этим, но его рабочего вибрировать или записи видео ... если видео будет записывать без звука, то даже его хорошо для меня ..

while(TRUE){ 

     AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

    } 

спасибо

ответ

0

Я предполагаю, что API-записи записи могут внутренне отключить вибрацию (и другие звуки системы), потому что вибрация во время записи серьезно ухудшит качество видео и звука в записи.

Конечно, я только догадываюсь. Это похоже на то, что может сделать Apple, и я думаю, что в большинстве случаев это то, что вы хотели бы (например, вы не хотели бы, чтобы запись была разрушена входящим текстовым сообщением или телефонным звонком). Мне любопытно, почему вы хотите вибрировать устройство во время записи - это для особого эффекта?

+0

Да, требуется какой-то специальный эффект .. с iphone5s, например, поворот на 360 градусов с видеозаписью –