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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

2回答

2591閲覧

AVPlayerViewControllerで表示した動画を拡大したい

moaikuntvs

総合スコア23

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2018/12/18 07:20

編集2018/12/20 06:54

xcodeでAVPlayerViewControllerを使用し、iPhone上で動画の再生は出来るのですが、以下の画像のように、動画をピンチジェスチャーで拡大して再生することは可能でしょうか?

swift

1func pinchAction(sender: UIPinchGestureRecognizer) { 2 // imageViewを拡大縮小する 3 // ピンチ中の拡大率は0.3〜2.5倍、指を離した時の拡大率は0.5〜2.0倍とする 4 switch sender.state { 5 case .began, .changed: 6 // senderのscaleは、指を動かしていない状態が1.0となる 7 // 現在の拡大率に、(scaleから1を引いたもの) / 10(補正率)を加算する 8 currentScale = currentScale + (sender.scale - 1) / 10 9 // 拡大率が基準から外れる場合は、補正する 10 if currentScale < 0.3 { 11 currentScale = 0.3 12 } else if currentScale > 2.5 { 13 currentScale = 2.5 14 } 15 // 計算後の拡大率で、imageViewを拡大縮小する 16 imageView.transform = CGAffineTransform(scaleX: currentScale, y: currentScale) 17 default: 18 // ピンチ中と同様だが、拡大率の範囲が異なる 19 if currentScale < 0.5 { 20 currentScale = 0.5 21 } else if currentScale > 2.0 { 22 currentScale = 2.0 23 } 24 25 // 拡大率が基準から外れている場合、指を離したときにアニメーションで拡大率を補正する 26 // 例えば指を離す前に拡大率が0.3だった場合、0.2秒かけて拡大率が0.5に変化する 27 UIView.animate(withDuration: 0.2, animations: { 28 self.imageView.transform = CGAffineTransform(scaleX: self.currentScale, y: self.currentScale) 29 }, completion: nil) 30 31 } 32}

以上のコードでピンチジェスチャーで画像の拡大はできたのですが、同様に動画でもピンチジェスチャーで拡大できないかと思ったのですが、AVPlayerViewControllerで表示している動画には適用できなかったので、ご教授願いたいです。

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

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

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

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

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

takabosoft

2018/12/20 08:22

「AVPlayerViewControllerで表示している動画適用できなかった」は具体的に何が適用できなかったのでしょうか。ピンチの検出ができなかったのか、transformが効かないように見えるのか。また、その失敗したコードも載せたほうが回答が得られやすいかと思います。
moaikuntvs

2018/12/25 00:53

UIviewに適用すべきaddGestureRecognizerをAVPlayerViewControllerに適用させようとしていたので、エラーが出ていました。 自己解決できました、ありがとうございます。
guest

回答2

0

自己解決

動画の表示サイズと同サイズのUIview1にAVPlayerViewControllerを追加して、更に動画の表示サイズと同サイズのUIview2をUIview1に追加して、addGestureRecognizerをUIview2に適用することで、ピンチジェスチャーで動画の拡大、縮小表示が可能になりました。

投稿2018/12/25 00:56

moaikuntvs

総合スコア23

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

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

0

https://stackoverflow.com/questions/36402669/set-size-for-video-with-avplayerviewcontroller?rq=1

こちらでは縮小をしているので、拡大もできるのではないでしょうか。

投稿2018/12/18 10:55

t_obara

総合スコア5488

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

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

moaikuntvs

2018/12/20 06:58

言葉足らずで申し訳ありません。 動画をピンチジェスチャーで拡大、縮小表示をしたいと思っております。
t_obara

2018/12/21 10:36

playerViewController.view.frameを変更することで縮小しているのが回答に示した内容ですので、 動画ではなく、viewをジェスチャーで拡大・縮小したいが、その方法がわからないという質問でしょうか
moaikuntvs

2018/12/25 00:51

言葉足らずで申し訳ありません。 t_obaraさんの仰るとおりでしたが、自己解決できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問