Я пытаюсь установить максимальное значение трекбара темы 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
WindowsMediaPlayer: невозможно установить максимальное значение ⇐ C#
Место общения программистов C#
-
Anonymous
1735565690
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]));
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/47284066/windowsmediaplayer-cannot-set-maximum-value[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия