不知道大家在開發時,有沒有遇過接入的畫面若為webview,當網頁裡有影片或背景音效時,會跑出全螢幕的播放器,假如是音效了話,播放畫面應該為全黑,且不管是音效還是影片,需關閉播放器後才能繼續瀏覽網頁,但假如每一動作都有音效,就會不停地跑出全螢幕播放器,實在稱不上是使用順暢,所以查找了各種有一樣症頭的資料後,加上幫公司的前端查找bug剛好尋到我想要的使用體驗,才知道這個模式稱為inline play,即在網頁中播放影片的意思,不確定是否是我這個中途入門資訊領域的人才不懂還是這是新的名稱,查找時還順便找到另一個有趣的模式為picture in picture(pip)模式,即畫中畫(懸浮的影片框),我們常用的Youtube就有使用,下次有時間再來好好研究一下~~
inline paly稍微搜尋了Swift有此用法後,我確信它可以解決我的困擾,趕緊來實做看看
下方為我找到讓我茅塞頓開的範例
https://github.com/fregante/iphone-inline-video
在欲使用的webview中設定如下:
let webConfiguration = WKWebViewConfiguration()
//是否允許網頁內播放影片(不全屏播放)
webConfiguration.allowsInlineMediaPlayback = true
//將設定套用到指定的webview中
let webView = WKWebView.init(frame: self.WebViewController?.view.frame ?? self.view.frame ,configuration:webConfiguration )