gpt4 book ai didi

powershell 'system.windows.media.mediaplayer' 注册对象事件

转载 作者:行者123 更新时间:2023-12-02 23:47:03 25 4
gpt4 key购买 nike

我正在尝试使用“system.windows.media.mediaplayer”媒体播放器来播放声音文件列表,但是我无法让媒体播放器知道何时播放下一个声音文件。

我正在尝试使用“MediaEnded”事件句柄来计算声音文件何时结束,然后移至下一个声音文件。但是我无法正确触发事件句柄,有人可以告诉我我哪里出错了吗?这是我正在使用的代码:

Add-Type -AssemblyName presentationCore 
$mediaplayer=New-Object system.windows.media.mediaplayer
Register-ObjectEvent -InputObject $mediaplayer -SourceIdentifier media -EventName BufferingStarted -Action {write-host "media stopped"}
$mediaPlayer.Open('C:\Windows\Media\chimes.wav')
$mediaplayer.Play()
sleep 3
$mediaPlayer.Open('C:\Windows\Media\chimes.wav')
$mediaplayer.Play()

我现在只是在播放任何声音文件来尝试触发事件句柄。

请帮我 !

最佳答案

Add-Type -AssemblyName PresentationCore 
$_MediaPlayer = New-Object System.Windows.Media.MediaPlayer
$_MusicFolder = 'C:\Users\Making JESUS Proud\Music'
$_MusicFiles = Get-ChildItem -path $_MusicFolder -include *.mp3 -recurse
$duration = $null
foreach($_file in $_MusicFiles){
"Playing $($_file.BaseName)"
[uri]$_song = $_file.FullName
do {
$_MediaPlayer.Open($_song)
$_songDuration = $_MediaPlayer.NaturalDuration.TimeSpan.TotalMilliseconds
}
until ($_songDuration)
$_MediaPlayer.Volume = 1
$_MediaPlayer.Play()
Start-Sleep -Milliseconds $_songDuration
$_MediaPlayer.Stop()
$_MediaPlayer.Close()
}

关于powershell 'system.windows.media.mediaplayer' 注册对象事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17924310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com