質問者
Chrome版Edge で m3u8 の NetRadio の聴取

質問
-
MS コミュニティ 投稿内容
(A)Edge 83.0.478.54 では HLS がサポートされていない?UpDate前のEdgeでは HLSがサポート されていて VB.NET command を使って 下記URLのNetRadioが聞けたが
microsoft-edge:https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8
Edge 83.0.478.54 ではNetRadioが聞けなくなった。 上記URLが聞けるように 対応を アドバイス 願いたい。
システム復元したが 変更不可 であった。
(B)Chrome版Edge で m3u8 の NetRadio の聴取Chrome版Edge にて 下記URL をコピーし Enter を叩くと m3u8 の NetRadio が聴けることが判明した。
extension://hahkjjkedonglpienpfiganogikkkoii/player.html#http://mtist.as.smartstream.ne.jp/30057/livestream/playlist.m3u8
System.Diagnostics.Process.Start("microsoft-edge:extension://hahkjjkedonglpienpfiganogikkkoii/ player.html#http://mtist.as.smartstream.ne.jp/30057/livestream/playlist.m3u8”)
上記 command では開かない。
どなたか VB.NET からの command をどのようにすれば良いか ご教授いただきい。 アドバイス 宜しく
<補足>chromeウエブストア より Play HLS を install している。 このため extension が機能している ? と思われる。
すべての返信
-
-
目的と手段を間違えてませんか?
Imports System.Windows.Forms Module Module1 Private uri As New Uri("https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8", UriKind.Absolute) Private WithEvents btnWMP_Start As New Button With {.Text = "WMP"} Private WithEvents btnWMP_Stop As New Button With {.Text = "Stop", .Enabled = False, .Top = btnWMP_Start.Top, .Left = btnWMP_Start.Width + 5} Private WithEvents btnWPF_Start As New Button With {.Text = "WPF", .Top = btnWMP_Start.Top + btnWMP_Start.Height + 5} Private WithEvents btnWPF_Stop As New Button With {.Text = "Stop", .Enabled = False, .Top = btnWPF_Start.Top, .Left = btnWPF_Start.Width + 5} Private WithEvents btnUWP_Start As New Button With {.Text = "UWP", .Top = btnWPF_Start.Top + btnWPF_Start.Height + 5} Private WithEvents btnUWP_Stop As New Button With {.Text = "Stop", .Enabled = False, .Top = btnUWP_Start.Top, .Left = btnUWP_Start.Width + 5} Sub Main() Application.EnableVisualStyles() Dim f As New Form f.Controls.Add(btnWMP_Start) : f.Controls.Add(btnWMP_Stop) f.Controls.Add(btnWPF_Start) : f.Controls.Add(btnWPF_Stop) f.Controls.Add(btnUWP_Start) : f.Controls.Add(btnUWP_Stop) System.Windows.Forms.Application.Run(f) End Sub #Region "Windows Media Player" Dim pWMP As System.Diagnostics.Process Private Sub BtnWMP_Start_Click(sender As Object, e As EventArgs) Handles btnWMP_Start.Click Dim pi As New System.Diagnostics.ProcessStartInfo pi.FileName = "wmplayer.exe" pi.Arguments = uri.ToString() pWMP = System.Diagnostics.Process.Start(pi) btnWMP_Start.Enabled = False btnWMP_Stop.Enabled = True End Sub Private Sub btnWMP_Stop_Click(sender As Object, e As EventArgs) Handles btnWMP_Stop.Click pWMP.CloseMainWindow() pWMP.Dispose() pWMP = Nothing btnWMP_Start.Enabled = True btnWMP_Stop.Enabled = False End Sub #End Region #Region "WPF" 'PresentationCoreとWindowsBaseを参照 Dim player_WPF As System.Windows.Media.MediaPlayer Private Sub btnWPF_Start_Click(sender As Object, e As EventArgs) Handles btnWPF_Start.Click If player_WPF Is Nothing Then player_WPF = New System.Windows.Media.MediaPlayer If uri.Scheme = Uri.UriSchemeHttps Then 'WPFのMediaPlayerはHTTPSを処理できない Dim uriHTTP = New UriBuilder(uri) With {.Scheme = Uri.UriSchemeHttp, .Port = -1}.Uri player_WPF.Open(uriHTTP) Else player_WPF.Open(uri) End If End If player_WPF.Play() btnWPF_Start.Enabled = False btnWPF_Stop.Enabled = True End Sub Private Sub btnWPF_Stop_Click(sender As Object, e As EventArgs) Handles btnWPF_Stop.Click player_WPF.Stop() player_WPF.Close() player_WPF = Nothing btnWPF_Start.Enabled = True btnWPF_Stop.Enabled = False End Sub #End Region #Region "UWP" 'FormやWPFからUWPのMediaPlayerを呼び出す場合はnugetでMicrosoft.Windows.SDK.Contractsを追加 'とWindows.Foundation.UniversalApiContract.winmdなどのファイルを参照追加する Dim player_UWP As Windows.Media.Playback.MediaPlayer Private Sub btnUWP_Start_Click(sender As Object, e As EventArgs) Handles btnUWP_Start.Click If player_UWP Is Nothing Then player_UWP = New Windows.Media.Playback.MediaPlayer() player_UWP.Source = Windows.Media.Core.MediaSource.CreateFromUri(uri) End If player_UWP.Play() btnUWP_Start.Enabled = False btnUWP_Stop.Enabled = True End Sub Private Sub btnUWP_Stop_Click(sender As Object, e As EventArgs) Handles btnUWP_Stop.Click player_UWP.Pause() player_UWP.Dispose() player_UWP = Nothing btnUWP_Start.Enabled = True btnUWP_Stop.Enabled = False End Sub #End Region End Module
デスクトップ アプリで Windows ランタイム API を呼び出す
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 編集済み gekkaMVP 2020年7月13日 3:48
-
アドバイス ありがとうございます。
当方 VB.NET 完全理解出来てない者でして 難しいcoding理解できなくて申し訳ありません。 解決策が見つかりましたので参考に記述します。 Edge での改良は期待できないので 下記簡単な方法 で m3u8付URL を受信することにしました。
ffmgeg にある ffplay.exe を利用します。 ffplay.exe を C:\ffmpeg\ffplay.exe ホルダにコピーします。
Dim RD11 As String
RD11 = "C:\ffmpeg\ffplay.exe https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8"
Shell(RD11)
上記codingで 音声 のみ出ました。
NHK:24 ListenRadio: 85 局が VB.NET自作 ON-OFF Timer から 選局し受信できるようになりました。- 回答の候補に設定 Haruka6002Microsoft contingent staff, Moderator 2020年7月16日 5:56