Я создаю программу C# Windows Forms в Visual Studio, которая постоянно аварийно завершает работу всякий раз, когда я устанавливаю URL-адрес объекта axWindowsMediaPLayer проигрывателя Windows Media.
Существует два окна формы: MainWindow и ВидеоФорм. В MainWindow есть кнопки для выбора файла через fileDialog и кнопка для открытия окна VideoForm, в котором есть медиаплеер. Я создал собственный класс Video.cs для сбора информации о видеофайле. Он также обрабатывает fileDialog. Однако когда я устанавливаю URL-адрес объекта медиаплеера, программа вылетает с кодом 3221225477 (0xc0000005) «Нарушение прав доступа». Таким образом, URL-адрес медиаплеера в окне VideoForm устанавливается из события нажатия кнопки в MainWindow. Я не уверен, что это является причиной нарушения доступа. Я запустил Visual Studio от имени администратора, чтобы убедиться, что у нее есть доступ к файлу. Я проверил путь к файлу, он правильный. Я пробовал с предшествующим @ и без него.
Эта строка вызывает сбой:
VideoWindow.MediaPlayer.URL = @auditVideo.Path;
Соответствующий код приведен ниже:
MainWindow.cs:
Video auditVideo = new Video();
private void ButtonImportVideo_Click(object sender, EventArgs e)
{
auditVideo.InitializeFile(openFileDialogVideo);
textBoxVideoFile.Text = auditVideo.Name;
}
private void ButtonPlayVideo_Click(object sender, EventArgs e)
{
VideoForm VideoWindow = new VideoForm();
try
{
VideoWindow.MediaPlayer.URL = @auditVideo.Path; // This is what causes the crash
}
catch(Exception ex)
{
MessageBox.Show("could not load the file" + ex.Message);
}
Console.WriteLine("VideoWindow.MediaPlayer.URL is {0}", @VideoWindow.MediaPlayer.URL);
VideoWindow.Show();
}
Класс Video.cs:
namespace AVCAudit
{
internal class Video
{
internal OpenFileDialog OpenFileDialog { get; private set; } //This is an AutoProperty which generates the private field behind the scenes
internal string Path { get; private set; } //set should be private for Path and Name since they refer to the actual file on disk which doesn't change
internal string Name { get; private set; }
internal void InitializeFile(OpenFileDialog fileDialogArg)
{
OpenFileDialog = fileDialogArg;
OpenFileDialog.InitialDirectory = @"C:\Users\schaney\Desktop\Neology\AVC Audit Project\avc_audit\Recordings";
OpenFileDialog.Title = "Open audit video file";
OpenFileDialog.Filter = "(mp3,wav,mp4,mov,wmv,mpg)|*.mp3;*.wav;*.mp4;*.mov;*.wmv;*.mpg|all files|*.*";
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
Path = fileDialogArg.FileName;
Name = fileDialogArg.SafeFileName;
}
}
}
}
VideoForm.cs
namespace AVCAudit
{
public partial class VideoForm : Form
{
internal String test { get; set; }
public VideoForm() //constructor for VideoForm class. The rest of the partial class is defined in VideoForm.Designer.cs
{
InitializeComponent(); //so the constructor for this class just runs the InitializeComponent method defined in the Designer.cs file
}
private void MediaPlayer_Enter(object sender, EventArgs e)
{
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/730 ... aplayer-ob
Программа C# аварийно завершает работу при настройке URL-адреса медиаплеера объекта axWindowsMediaPlayer из отдельного о ⇐ C#
Место общения программистов C#
1731698088
Anonymous
Я создаю программу C# Windows Forms в Visual Studio, которая постоянно аварийно завершает работу всякий раз, когда я устанавливаю URL-адрес объекта axWindowsMediaPLayer проигрывателя Windows Media.
Существует два окна формы: MainWindow и ВидеоФорм. В MainWindow есть кнопки для выбора файла через fileDialog и кнопка для открытия окна VideoForm, в котором есть медиаплеер. Я создал собственный класс Video.cs для сбора информации о видеофайле. Он также обрабатывает fileDialog. Однако [b]когда я устанавливаю URL-адрес объекта медиаплеера, программа вылетает с кодом 3221225477 (0xc0000005) «Нарушение прав доступа»[/b]. Таким образом, URL-адрес медиаплеера в окне VideoForm устанавливается из события нажатия кнопки в MainWindow. Я не уверен, что это является причиной нарушения доступа. Я запустил Visual Studio от имени администратора, чтобы убедиться, что у нее есть доступ к файлу. Я проверил путь к файлу, он правильный. Я пробовал с предшествующим @ и без него.
[b]Эта строка вызывает сбой:[/b]
VideoWindow.MediaPlayer.URL = @auditVideo.Path;
Соответствующий код приведен ниже:
MainWindow.cs:
Video auditVideo = new Video();
private void ButtonImportVideo_Click(object sender, EventArgs e)
{
auditVideo.InitializeFile(openFileDialogVideo);
textBoxVideoFile.Text = auditVideo.Name;
}
private void ButtonPlayVideo_Click(object sender, EventArgs e)
{
VideoForm VideoWindow = new VideoForm();
try
{
VideoWindow.MediaPlayer.URL = @auditVideo.Path; // This is what causes the crash
}
catch(Exception ex)
{
MessageBox.Show("could not load the file" + ex.Message);
}
Console.WriteLine("VideoWindow.MediaPlayer.URL is {0}", @VideoWindow.MediaPlayer.URL);
VideoWindow.Show();
}
Класс Video.cs:
namespace AVCAudit
{
internal class Video
{
internal OpenFileDialog OpenFileDialog { get; private set; } //This is an AutoProperty which generates the private field behind the scenes
internal string Path { get; private set; } //set should be private for Path and Name since they refer to the actual file on disk which doesn't change
internal string Name { get; private set; }
internal void InitializeFile(OpenFileDialog fileDialogArg)
{
OpenFileDialog = fileDialogArg;
OpenFileDialog.InitialDirectory = @"C:\Users\schaney\Desktop\Neology\AVC Audit Project\avc_audit\Recordings";
OpenFileDialog.Title = "Open audit video file";
OpenFileDialog.Filter = "(mp3,wav,mp4,mov,wmv,mpg)|*.mp3;*.wav;*.mp4;*.mov;*.wmv;*.mpg|all files|*.*";
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
Path = fileDialogArg.FileName;
Name = fileDialogArg.SafeFileName;
}
}
}
}
VideoForm.cs
namespace AVCAudit
{
public partial class VideoForm : Form
{
internal String test { get; set; }
public VideoForm() //constructor for VideoForm class. The rest of the partial class is defined in VideoForm.Designer.cs
{
InitializeComponent(); //so the constructor for this class just runs the InitializeComponent method defined in the Designer.cs file
}
private void MediaPlayer_Enter(object sender, EventArgs e)
{
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/73057054/c-sharp-program-crashes-when-setting-media-player-url-of-axwindowsmediaplayer-ob[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия