Comments (8)
你有点击PIP按钮吗?需要点击过pip按钮才能在推到后台的时候,自动pip
from ksplayer.
If I tap to PIP button, it will work. But I'm curious can we have automatic PIP without tap this button when put app to background?
You can see this video:
The second times will working without tap PIP button but not first
https://drive.google.com/file/d/1km1Xhjhg_ZQvdZIDxu-HRZrZwGBGNjjV/view?usp=drivesdk
from ksplayer.
avplayer 可以不用点击pip就可以退到后台就自动pip。但是ksmeplayer是不行的,这个是系统行为我也不知道要怎么解决。
from ksplayer.
Thank you! I really like this player and used in my project with SwiftUI.
Hope we will have function for set media information with KSMPlayerResource (MPNowPlayingInfoCenter) in KMSPlayerView
from ksplayer.
Thank you! I really like this player and used in my project with SwiftUI.
Hope we will have function for set media information with KSMPlayerResource (MPNowPlayingInfoCenter) in KMSPlayerView
我不知很明白这个是什么意思。
目前KSPlayerLayer 会设置MPNowPlayingInfoCenter 了啊。你可以搜索下MPNowPlayingInfoCenter这个关键字
from ksplayer.
I know, but only time and duration for player. I mean we can set artCover and name for MPNowPlayingInfoCenter
Like this
let asset = KSPlayerResource(name: "Big Buck Bunny",
definitions: [res0, res1],
cover: URL(string: "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Big_buck_bunny_poster_big.jpg/848px-Big_buck_bunny_poster_big.jpg"))
playerView.set(resource: asset)
But it only if we using VideoPlayerView in UIKit
In KSVideoPlayer for SwiftUI we only have constructor with URL
public struct KSVideoPlayer {
public let coordinator: Coordinator
public let url: URL
public let options: KSOptions
public init(coordinator: Coordinator, url: URL, options: KSOptions) {
self.coordinator = coordinator
self.url = url
self.options = options
}
}
and only have duration and something information but not have name and cover
private func updateNowPlayingInfo() {
if MPNowPlayingInfoCenter.default().nowPlayingInfo == nil {
MPNowPlayingInfoCenter.default().nowPlayingInfo = [MPMediaItemPropertyPlaybackDuration: player.duration]
} else {
MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPMediaItemPropertyPlaybackDuration] = player.duration
}
var current: [MPNowPlayingInfoLanguageOption] = []
var langs: [MPNowPlayingInfoLanguageOptionGroup] = []
for track in player.tracks(mediaType: .audio) {
if let lang = track.language {
let audioLang = MPNowPlayingInfoLanguageOption(type: .audible, languageTag: lang, characteristics: nil, displayName: track.name, identifier: track.name)
let audioGroup = MPNowPlayingInfoLanguageOptionGroup(languageOptions: [audioLang], defaultLanguageOption: nil, allowEmptySelection: false)
langs.append(audioGroup)
if track.isEnabled {
current.append(audioLang)
}
}
}
if !langs.isEmpty {
MPRemoteCommandCenter.shared().enableLanguageOptionCommand.isEnabled = true
}
MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyAvailableLanguageOptions] = langs
MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyCurrentLanguageOptions] = current
}
from ksplayer.
那我理解,你可以直接MPNowPlayingInfoCenter.default().nowPlayingInfo = ? 这样就可以了。
from ksplayer.
Yeah I will set information direct to MPNowPlayingInforCenter for now. Thank for your support!!
from ksplayer.
Related Issues (20)
- Voices/Dialogues not heard with AudioUnit HOT 2
- AudioUnit crashes HOT 2
- *** Important Issues to be fixed HOT 9
- Issue with some live tv streams HOT 14
- OpenSSL not enabled by default HOT 2
- Can't seek forward/bakwards with a pre-recorded .ts stream (TVOS) HOT 16
- 可以在播放的时候,适时的改变视频源的分辨率吗? HOT 1
- 在播放某个视频时会出现拖影,闪屏的问题 HOT 2
- VisionOS: 在ImmersiveSpace中渲染基于Metal的VR视频 HOT 2
- iOS真机前后台切换bug
- Small subtitles on iPad HOT 3
- 添加 Package 无法将最新的 FFmpegKit 添加进去 HOT 4
- Broken subtitle track names HOT 2
- SwiftUI player view 没有初始化 PIPController HOT 1
- 7.1 played as stereo HOT 1
- Interlaced stream looks shaky if the reference frame =1 using Yadifx2 HOT 13
- Unable to use the remote in tvOS HOT 5
- Sound problems on 7.1 tracks HOT 3
- 在播放途中闪退 HOT 4
- Deinterlacing problem with some Top Field First videos HOT 18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ksplayer.