質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

818閲覧

カメラアプリのコードを変えて動画撮影アプリを作りたい

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/09/16 08:12

編集2020/09/17 06:18

SwiftUIで作成したカメラアプリを、下記のコードの一部を引用して、写真撮影機能ではなく録画機能にして動画撮影のみのアプリにしたいです。

下記が録画機能を追加するために参考にしたコードです。録画機能を一部、作成したアプリに引用しようと思っています(前の質問で回答してくださった方が改変してくれたものになります)

https://teratail.com/questions/292121

作成したカメラアプリは、タップで写真を撮影しますが、動画撮影の機能はありません。上記の録画機能のコードを引用し、作成したカメラアプリのボタンなどの位置を特に変えず、動画撮影のみのアプリにするにはどのコードをどこに引用すればいいでしょうか?

作成したカメラアプリのコードです。テンプレートはsingle view app、swiftUIです。
環境はxcode11.6、swift5です。
上からCoordinator.swift、ImagePicker.swift、UIimageExtension.swift、ContentView.swift
の4つにコードを打ち込んでいます。

(SwiftUIのみで構築する場合、どの部分のコードを変更したらいいかというのも教えていただけると嬉しいです。)

import

1 2class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate { 3 4 var parent:ImagePicker 5 6 init(_ parent :ImagePicker) { 7 self.parent = parent 8 } 9 10 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { 11 let uiImage = info[.originalImage] as! UIImage 12 UIImageWriteToSavedPhotosAlbum(uiImage, nil, nil, nil) 13 parent.image = Image(uiImage: uiImage.redraw()) 14 parent.isPicking = false 15 } 16 17 func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { 18 parent.isPicking = false 19 } 20}

import

1 2struct ImagePicker: UIViewControllerRepresentable { 3 4 @Binding var image:Image? 5 @Binding var isPicking:Bool 6 7 func makeCoordinator() -> Coordinator { 8 Coordinator(self) 9 } 10 11 func makeUIViewController(context: Context) -> UIImagePickerController { 12 let picker = UIImagePickerController() 13 picker.sourceType = .camera 14 picker.delegate = context.coordinator 15 return picker 16 } 17 18 func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) { 19 } 20 } 21 22 23struct ImagePicker_Previews: PreviewProvider { 24 static var previews: some View { 25 ImagePicker(image: .constant(nil), isPicking: .constant(true)) 26 } 27}

import

1 2extension UIImage { 3 func redraw() -> UIImage { 4 let format = UIGraphicsImageRendererFormat() 5 format.scale = 1 6 return UIGraphicsImageRenderer(size: size, format: format) 7 .image { context in 8 draw(in: CGRect(origin: .zero, size: size)) 9 } 10 } 11}

import

1 2struct ContentView: View { 3 @State var image:Image? 4 @State var isPicking = false 5 var body: some View { 6 ZStack { 7 VStack { 8 VStack { 9 Spacer() 10 image? 11 .resizable() 12 .scaledToFit() 13 Spacer() 14 } 15 HStack { 16 Spacer() 17 Button(action: { 18 self.isPicking = true 19 }) { 20 Image(systemName: "camera") 21 Text("カメラ") 22 }.padding() 23 } 24 } 25 if isPicking { 26 ImagePicker(image: $image, isPicking: $isPicking) 27 .edgesIgnoringSafeArea(.all) 28 .transition(.move(edge: .bottom)) 29 .animation(.easeInOut) 30 } 31 } 32 } 33}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2020/09/16 08:38

カメラアプリのコードがあって、録画機能のコードがすでにあるということですが、質問は何でしょうか。
退会済みユーザー

退会済みユーザー

2020/09/16 09:29

すみません、追記いたします。 説明不足ですみません
TsukubaDepot

2020/09/16 10:44

これは、SwiftUIとして構築したいということでしょうか。 それであれば、タグに SwiftUI を付け加えていただいた方がいいかとおもます。 また、ソースコードは <CODE> タグか ``` で囲んでいただくと、他の質問者さんや回答者と同じように整形してみやすいコードになりますので、ご協力お願いいたします。
退会済みユーザー

退会済みユーザー

2020/09/16 10:46

訂正ありがとうございます! すみません早急に直します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問