Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
65109d88
Commit
65109d88
authored
May 09, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 视频分享
parent
194545a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
74 additions
and
30 deletions
+74
-30
YHVideoPlayerVC.swift
galaxy/galaxy/Classes/Tools/VideoPlay/YHVideoPlayerVC.swift
+74
-30
No files found.
galaxy/galaxy/Classes/Tools/VideoPlay/YHVideoPlayerVC.swift
View file @
65109d88
...
...
@@ -10,6 +10,7 @@ import UIKit
import
AVFoundation
import
AVKit
import
BMPlayer
import
Kingfisher
class
YHVideoPlayerVC
:
YHBaseViewController
{
...
...
@@ -86,7 +87,38 @@ class YHVideoPlayerVC: YHBaseViewController {
gk_navigationBar
.
isHidden
=
true
view
.
backgroundColor
=
.
black
view
.
addSubview
(
navBar
)
setupLikeAndCollectUI
()
setupPlayerUI
()
navBar
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
.
offset
(
k_Height_statusBar
())
make
.
height
.
equalTo
(
k_Height_NavContentBar
)
}
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHHomeWebBottomView
.
height
+
k_Height_safeAreaInsetsBottom
())
}
}
func
setupPlayerUI
()
{
view
.
addSubview
(
player
)
player
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
20
)
make
.
left
.
right
.
equalTo
(
0
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
YHHomeWebBottomView
.
height
-
20
)
}
guard
let
videoURL
=
URL
(
string
:
url
)
else
{
YHHUD
.
flash
(
message
:
"无效URL"
)
return
}
let
asset
=
BMPlayerResource
(
url
:
videoURL
)
player
.
setVideo
(
resource
:
asset
)
// 默认静音
player
.
avPlayer
?
.
isMuted
=
true
}
func
setupLikeAndCollectUI
()
{
bottomView
=
{
let
view
=
YHHomeWebBottomView
()
view
.
tintMode
=
.
dark
...
...
@@ -157,35 +189,6 @@ class YHVideoPlayerVC: YHBaseViewController {
return
view
}()
view
.
addSubview
(
bottomView
)
setupPlayerUI
()
navBar
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
.
offset
(
k_Height_statusBar
())
make
.
height
.
equalTo
(
k_Height_NavContentBar
)
}
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHHomeWebBottomView
.
height
+
k_Height_safeAreaInsetsBottom
())
}
}
func
setupPlayerUI
()
{
view
.
addSubview
(
player
)
player
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
20
)
make
.
left
.
right
.
equalTo
(
0
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
YHHomeWebBottomView
.
height
-
20
)
}
guard
let
videoURL
=
URL
(
string
:
url
)
else
{
YHHUD
.
flash
(
message
:
"无效URL"
)
return
}
let
asset
=
BMPlayerResource
(
url
:
videoURL
)
player
.
setVideo
(
resource
:
asset
)
// 默认静音
player
.
avPlayer
?
.
isMuted
=
true
}
}
...
...
@@ -195,7 +198,7 @@ extension YHVideoPlayerVC {
}
@objc
func
didShareButtonClicked
()
{
shareVideoContent
()
}
}
...
...
@@ -235,4 +238,45 @@ extension YHVideoPlayerVC {
}
getData
()
}
func
shareVideoContent
()
{
let
title
:
String
=
self
.
viewModel
.
mainModel
?
.
title
??
""
let
link
:
String
=
self
.
viewModel
.
mainModel
?
.
media_url
??
""
let
thumbUrl
=
self
.
viewModel
.
mainModel
?
.
img_url
??
""
if
thumbUrl
.
isEmpty
{
YHHUD
.
flash
(
message
:
"分享失败"
)
return
}
if
link
.
isEmpty
{
YHHUD
.
flash
(
message
:
"分享失败"
)
return
}
requestThumbImage
(
url
:
thumbUrl
)
{
thumbImg
in
guard
let
thumbImg
=
thumbImg
else
{
DispatchQueue
.
main
.
async
{
YHHUD
.
flash
(
message
:
"分享失败"
)
}
return
}
YHShareManager
.
shared
.
sendVideoContent
(
title
,
""
,
thumbImg
,
link
:
link
)
}
}
func
requestThumbImage
(
url
:
String
,
block
:((
UIImage
?)
->
())?)
{
let
url
=
URL
(
string
:
url
)
// 替换为你要下载的图片 URL
let
downloader
=
KingfisherManager
.
shared
.
downloader
downloader
.
downloadImage
(
with
:
url
!
)
{
result
in
switch
result
{
case
.
success
(
let
value
):
let
image
=
value
.
image
// 在这里使用下载得到的 image 对象
block
?(
image
)
case
.
failure
(
let
error
):
// 下载失败,处理错误
print
(
"图片下载失败:
\(
error
)
"
)
block
?(
nil
)
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment