当前位置:  开发笔记 > 编程语言 > 正文

Vlc.DotNet-无法在播放音频之前设置音量

如何解决《Vlc.DotNet-无法在播放音频之前设置音量》经验,为你挑选了0个好方法。

我从Github下载了Vlc.DotNet项目,并一直在为其Sample Samples应用程序添加更多功能。一切正常,除了在事情上:我注意到,每次我启动应用程序并播放音频时,即使将其设置为较低的值,音频听起来也好像是其音量为100%(或附近)。

在播放音频之前,我曾尝试设置音量,但是没有用。如果调试代码,我会看到音量始终设置为-1。

例如,如果我执行以下代码行,则将音量设置为40后,在调试时,音量仍为-1:

myVlcControl.Play(new FileInfo(FileName));
myVlcControl.Audio.Volume = 40; 

更改上面各行的顺序也不起作用。

有趣的是,当音频已经在播放并且我更改了音量时,它已成功更改为NumericUpDown上的选择值。下面的代码是发生这种情况的事件:

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    myVlcControl.Audio.Volume = (int)numericUpDown1.Value;
}

我已经尝试解决此问题两天了。不幸的是,我的编码技能甚至没有使这个项目的幕后人员离开。我已经在Github的“问题”页面上发布了此问题,但是由于自11月以来仍然有一些问题没有得到答复,因此我决定尝试使用StackOverflow。希望这里有人使用Vlc.DotNet并为我的问题提供了解决方案。

话虽如此:

有人有同样的问题吗?

有人知道如何解决吗?

有什么建议么?

谢谢!

[2016年1月8日,格林尼治标准时间2上午11:50编辑]

Github上的higankanshi用户回答了我以下问题:

我发现了问题。您应该使用LibVlc 2.2.0(或更高版本)。Vlc.DotNet使用的是LibVlc 2.1.5

然后,我执行了一些测试,并得出以下结论:

你是对的。使用LibVlc 2.2.0,我可以在播放之前设置音量。

不幸的是,由于某些原因,在播放音频之前设置音量仅在首次打开应用程序时起作用。停止音频,更改音量并再次播放之后,音量不再更改-仅在播放时更改。

以下是产生结果的步骤:

    执行应用程序;

    在播放音频文件之前在运行时更改音量;

    播放音频文件;

    结果:音频以指定的音量成功播放!=)

    按停止;

    再次更改音量;

    再次按Play(此时,play方法内的实现应获取新的音量信息);

    结果:音频再次以之前播放的音量播放。设置音量不再有效。

我正在Vlc.DotNet.Forms.Samples-CLR 4-.Net 4.5项目上进行测试。我对该项目所做的更改是:

添加了NumericUpDown控件,以便我可以在运行时更改音量;

将ValueChanged事件与NumericUpDown控件相关联,以便每次更改值时,新值都将传递给VlcControl;

创建了一个Play()函数,该函数始终在播放音频之前获取最后的音量值;

我的代码如下:

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    myVlcControl.Audio.Volume = (int)numericUpDown1.Value;
}

private void Play()
{
    myVlcControl.Audio.Volume = (int)numericUpDown1.Value;
    myVlcControl.Play(new FileInfo(FileName));
}

private void OnButtonPlayClicked(object sender, EventArgs e)
{
    Play();
}

private void OnButtonStopClicked(object sender, EventArgs e)
{
    myVlcControl.Stop();
}

private void OnButtonPauseClicked(object sender, EventArgs e)
{
    myVlcControl.Pause();
}

有任何想法吗?

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有