Собственно, задача следующая, используя winmm.dll воспроизвести файл.
[DllImport("winmm.dll")]
private static extern long mciSendString(string strCommand,
StringBuilder strReturn, int iReturnLength, IntPtr oCallback);
static void Main(string[] args)
{
string strFileName = @"C:\Users..";
string PlayCommand = @"open " + strFileName + "alias MediaFile";
mciSendString(PlayCommand, null, 0, IntPtr.Zero);
PlayCommand = "play MediaFile";
mciSendString(PlayCommand, null, 0, IntPtr.Zero);
Console.ReadKey();
Реакции - 0. Что я делаю не так?
Без атрибута [STAThread] действительно не работает. С ним - всё отлично!
Ещё нужны кавычки вокруг названия файла.
[STAThread]
static void Main(string[] args)
{
string file = "The Starry Sky.mp3";
string command = "open \"" + file + "\" alias MediaFile";
mciSendString(command, null, 0, IntPtr.Zero);
command = "play MediaFile";
mciSendString(command, null, 0, IntPtr.Zero);
Console.ReadLine();
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники