使用蓝牙在其他 iOS 台设备上拍照
Take pictures on other iOS devices using bluetooth
如果有 iOS 蓝牙经验的人可以告诉我如何使用蓝牙 类 在其他 iOS 设备上拍照,我将不胜感激。此应用程序允许用户 login/register 然后拍摄和上传照片。 http://www.raywenderlich.com/13511/how-to-create-an-app-like-instagram-with-a-web-service-backend-part-12 我的目标是,在应用程序 uiscrollview(显示所有上传的照片)中点击用户照片,激活下面 AVFoundation 的 snapStillImage
方法。
//this code takes a picture
- (void)snapStillImage //this takes a picture via [self snapStillImage] in viewDidLoad
{
dispatch_async([self sessionQueue], ^{
// Update the orientation on the still image output video connection before capturing.
[[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] setVideoOrientation:[[(AVCaptureVideoPreviewLayer *)[[self previewView] layer] connection] videoOrientation]];
// Flash set to Auto for Still Capture
[ViewController5 setFlashMode:AVCaptureFlashModeAuto forDevice:[[self videoDeviceInput] device]];
// Capture a still image.
[[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if (imageDataSampleBuffer)
{
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
photo.image = [[UIImage alloc] initWithData:imageData];
[[[ALAssetsLibrary alloc] init] writeImageToSavedPhotosAlbum:[photo.image CGImage] orientation:(ALAssetOrientation)[photo.image imageOrientation] completionBlock:nil];
[self uploadPhoto];
}
}];
});
}
我想每个用户都需要在登录时成为 central/peripheral?我在 iOS 上设置 BLE 的经验为 0,更不用说配备服务器功能了。任何想法或提示都会很棒。
您应该看看 iOS7+ MultipeerConnectivity Framework,它允许附近的设备相互通信。这很容易通过这个框架将消息从一个设备发送到(一个)其他设备,包装到一个 NSData
变量中。
这个框架真的很容易设置,但不要犹豫,看看GitHub search results。
如果有 iOS 蓝牙经验的人可以告诉我如何使用蓝牙 类 在其他 iOS 设备上拍照,我将不胜感激。此应用程序允许用户 login/register 然后拍摄和上传照片。 http://www.raywenderlich.com/13511/how-to-create-an-app-like-instagram-with-a-web-service-backend-part-12 我的目标是,在应用程序 uiscrollview(显示所有上传的照片)中点击用户照片,激活下面 AVFoundation 的 snapStillImage
方法。
//this code takes a picture
- (void)snapStillImage //this takes a picture via [self snapStillImage] in viewDidLoad
{
dispatch_async([self sessionQueue], ^{
// Update the orientation on the still image output video connection before capturing.
[[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] setVideoOrientation:[[(AVCaptureVideoPreviewLayer *)[[self previewView] layer] connection] videoOrientation]];
// Flash set to Auto for Still Capture
[ViewController5 setFlashMode:AVCaptureFlashModeAuto forDevice:[[self videoDeviceInput] device]];
// Capture a still image.
[[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if (imageDataSampleBuffer)
{
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
photo.image = [[UIImage alloc] initWithData:imageData];
[[[ALAssetsLibrary alloc] init] writeImageToSavedPhotosAlbum:[photo.image CGImage] orientation:(ALAssetOrientation)[photo.image imageOrientation] completionBlock:nil];
[self uploadPhoto];
}
}];
});
}
我想每个用户都需要在登录时成为 central/peripheral?我在 iOS 上设置 BLE 的经验为 0,更不用说配备服务器功能了。任何想法或提示都会很棒。
您应该看看 iOS7+ MultipeerConnectivity Framework,它允许附近的设备相互通信。这很容易通过这个框架将消息从一个设备发送到(一个)其他设备,包装到一个 NSData
变量中。
这个框架真的很容易设置,但不要犹豫,看看GitHub search results。