当 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)

`