WindowsMediaPlayer: невозможно установить максимальное значениеC#

Место общения программистов C#
Ответить
Anonymous
 WindowsMediaPlayer: невозможно установить максимальное значение

Сообщение Anonymous »

Я пытаюсь установить максимальное значение трекбара темы Metro, используя целое число из текущего медиафайла WindowsMediaPlayer, однако продолжает выдавать следующую ошибку:


Указанный аргумент находится вне диапазона допустимых значений.

Имя параметра: Максимальное значение меньше минимального

Это означает, что максимальное значение не достигается. вообще установлен, не знаю почему.

Код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MetroFramework;
using MetroFramework.Forms;
using VideoLibrary;
using System.IO;
using System.Threading;
using System.Diagnostics;
using WMPLib;
using UITimer = System.Windows.Forms.Timer;

namespace Composer
{
public partial class Form1 : MetroForm
{
private string _pDirectory;
private string[] _songs;

private int _sIndex;

private WindowsMediaPlayer wmp;
private UITimer _timer;

public Form1()
{
InitializeComponent();
}

private void metroTrackBar1_Scroll(object sender, ScrollEventArgs e)
{
wmp.settings.volume = metroTrackBar1.Value;
}

private void metroTile3_Click(object sender, EventArgs e)
{
playAudio(Path.Combine(_pDirectory, _songs[_sIndex]));
}

private void playAudio(string path)
{
wmp.URL = path;
wmp.controls.play();
_timer.Start();

displayHeader(path);

metroTrackBar2.Maximum = (int)wmp.currentMedia.duration;
}

private void t_Tick(object sender, EventArgs e)
{
metroTrackBar2.Value = (int)wmp.controls.currentPosition;
}

private void displayHeader(string song)
{
MethodInvoker invoke = new MethodInvoker(delegate
{
metroTile1.Text = Path.GetFileNameWithoutExtension(_songs[_sIndex]);
});

this.Invoke(invoke);
}

private void Form1_Load(object sender, EventArgs e)
{
string bin;

_sIndex = 0;
_pDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), @"Composer\");
bin = Path.Combine(_pDirectory, "bin");

_timer = new UITimer();
_timer.Interval = 1000;
_timer.Tick += new EventHandler(t_Tick);

if (!Directory.Exists(_pDirectory))
{
Directory.CreateDirectory(_pDirectory);
if(!Directory.Exists(bin))
{
Directory.CreateDirectory(bin);
}
} else
{
_songs = Directory.GetFiles(bin);
}

wmp = new WindowsMediaPlayer();
//MessageBox.Show(_pDirectory);
}

private void metroTile4_Click(object sender, EventArgs e)
{
if(_sIndex == (_songs.Length - 1))
{
_sIndex = 0;
} else
{
_sIndex++;
}

playAudio(Path.Combine(_pDirectory, _songs[_sIndex]));
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/472 ... imum-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»