当 phone 睡着时,有没有办法在没有用户交互的情况下播放 Twitch 音频?
Is there a way to play Twitch audio without interaction from the user when the phone is asleep?
--首先我知道这是侵入性的,我正在尝试发出警报--
我想创建一个 Android 应用程序来设置闹钟,无需用户进行任何交互即可播放 Twitch 音频。对于警报部分,我使用 AlarmManager
但是,当警报触发时,我正在努力让抽搐在锁定的 phone 屏幕上自动播放。
关于如何做到这一点(在 Android),我的两个主要想法是:
想法#1:在网页中嵌入 twitch 播放器,当警报触发时,该网页会显示在锁屏上:
Twitch Embed
Fullscreen intent
但是播放器已静音,我无法找到解决此问题的方法(而且似乎不支持它)
[类似问题 #1]https://discuss.dev.twitch.tv/t/i-am-unable-to-mute-unmute-video-clips-in-twitch-preview/31585
[类似问题 #2]https://discuss.dev.twitch.tv/t/how-to-unmute-clips-on-load/26054/2
想法 #2:只需在屏幕锁定时使用 Twitch 应用启动直播。这就是我目前为 Youtube 音频启动流的方式,它在 phone 被锁定在后台正常时启动。我知道 Twitch android 应用程序中有一些功能,因为可以通过更改流中的设置在不打开应用程序的情况下播放流。但是,目前如果我尝试在屏幕锁定时使用 Twitch 启动流,据我所知,在用户打开 phone.
之前视频不会加载
所以是的,有没有办法在 phone 睡着时播放 Twitch 音频而无需用户交互?
谢谢
- 将添加的代码编辑为文本
我设法使用解决方案 #1(使用 android webview 的全屏意图)解决了这个问题。然而,我没有嵌入原生的 twitch 播放器,而是使用 android webview 直接打开 twitch 网站。使视频不静音的重要部分是将 mediaPlaybackRequiresUserGesture 标志设置为 false。代码如下
`
val rO = intent.getSerializableExtra("RingtoneOption") as RingtoneOption
val url = rO.liveContentURL
setContentView(R.layout.activity_full_screen_alarm)
turnScreenOnAndKeyguardOff()
var myWebView = findViewById<View>(R.id.webview) as WebView
val webSettings = myWebView.settings
webSettings.javaScriptEnabled = true
webSettings.mediaPlaybackRequiresUserGesture = false;
myWebView.webViewClient = WebViewClient()
myWebView.webChromeClient = WebChromeClient()
myWebView.loadUrl(url)
`
--首先我知道这是侵入性的,我正在尝试发出警报--
我想创建一个 Android 应用程序来设置闹钟,无需用户进行任何交互即可播放 Twitch 音频。对于警报部分,我使用 AlarmManager 但是,当警报触发时,我正在努力让抽搐在锁定的 phone 屏幕上自动播放。
关于如何做到这一点(在 Android),我的两个主要想法是:
想法#1:在网页中嵌入 twitch 播放器,当警报触发时,该网页会显示在锁屏上: Twitch Embed Fullscreen intent 但是播放器已静音,我无法找到解决此问题的方法(而且似乎不支持它) [类似问题 #1]https://discuss.dev.twitch.tv/t/i-am-unable-to-mute-unmute-video-clips-in-twitch-preview/31585 [类似问题 #2]https://discuss.dev.twitch.tv/t/how-to-unmute-clips-on-load/26054/2
想法 #2:只需在屏幕锁定时使用 Twitch 应用启动直播。这就是我目前为 Youtube 音频启动流的方式,它在 phone 被锁定在后台正常时启动。我知道 Twitch android 应用程序中有一些功能,因为可以通过更改流中的设置在不打开应用程序的情况下播放流。但是,目前如果我尝试在屏幕锁定时使用 Twitch 启动流,据我所知,在用户打开 phone.
之前视频不会加载所以是的,有没有办法在 phone 睡着时播放 Twitch 音频而无需用户交互?
谢谢
- 将添加的代码编辑为文本
我设法使用解决方案 #1(使用 android webview 的全屏意图)解决了这个问题。然而,我没有嵌入原生的 twitch 播放器,而是使用 android webview 直接打开 twitch 网站。使视频不静音的重要部分是将 mediaPlaybackRequiresUserGesture 标志设置为 false。代码如下 `
val rO = intent.getSerializableExtra("RingtoneOption") as RingtoneOption
val url = rO.liveContentURL
setContentView(R.layout.activity_full_screen_alarm)
turnScreenOnAndKeyguardOff()
var myWebView = findViewById<View>(R.id.webview) as WebView
val webSettings = myWebView.settings
webSettings.javaScriptEnabled = true
webSettings.mediaPlaybackRequiresUserGesture = false;
myWebView.webViewClient = WebViewClient()
myWebView.webChromeClient = WebChromeClient()
myWebView.loadUrl(url)
`