powershell - 音频媒体的Powershell播放详细信息

标签 powershell audio media-player

我引用了:powershell 'system.windows.media.mediaplayer' Register-ObjectEvent,用于使用PowerShell处理音频文件。它在文件夹中显示用于播放音频文件的代码。但不作进一步解释或评论其用法。
我想要的是PowerShell,创建一个Windows窗体,带有“选择文件”对话框,基本图标,用于播放/暂停/停止,并显示其当前时间状态(经过多少分钟,剩余时间,在搜索栏上)。

这是引用代码:

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()
}

我已经准备好使用GUI部分,但无法从MediaPlayer类中获取有关其时间轴进度以及暂停/停止/重放音频的事件处理的信息。

类(class)文件:

https://msdn.microsoft.com/en-us/library/System.Windows.Media.MediaPlayer%28v=vs.110%29.aspx

关于我发现的与时间线相关的以下三个属性,但我不太了解它们。
MediaPlayer.NaturalDuration   
MediaPlayer.Clock  
MediaPlayer.Position  

最佳答案

Add-Type –assemblyName PresentationFramework
$mp=New-Object System.Windows.Controls.MediaElement
$mp.Source='E:\onedrive\audio\song.mp3'
$mp.UnloadedBehavior='Manual'
$mp.Position=New-Object System.TimeSpan(0, 0, 0, 30, 0)
$mp.Volume = 1
$mp.Play()

注意:
您只能在打开文件之前设置其位置。
您可以搜索的不是所有文件类型,而是大多数。

引用:
https://msdn.microsoft.com/en-us/library/ms748248%28v=vs.110%29.aspx

关于powershell - 音频媒体的Powershell播放详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29301247/

相关文章:

Powershell将参数值传递给参数并返回

windows - 检索powershell中日期范围内修改的文件的完整路径和文件权限

audio - OpenAL 监听器打破衰减

swift - 从 OS X 上的 iTunes 中当前播放的音频中获取音频元数据

java - MediaPlayer android 流广播不立即启动或根本不启动

powershell - 从数组列表中删除一个 hastable

regex - Powershell 替换多行

audio - Matt Gallagher的iOS音源

ios - 如何在应用程序中使用 swift 流式传输 mp3 文件?

android - 无法在Android中使用MediaPlayer播放MediaStore.Audio歌曲