Как получить длину песни с MCI

Попробуйте найти длительность песни, например, ЧЧ: ММ: СС, для показа в моей программе.

Попробуй использовать

[DllImport("winmm.dll")]
    private static extern long mciSendString(string strCommand,
        StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

с

public int CurrentTime()
    {
        MPlayerCommand = "status MediaFile length track number";
        error = mciSendString(MPlayerCommand, returnData, 128, IntPtr.Zero);
        return Convert.ToInt32(returnData.ToString());
    }

Но в результате получаем ошибку - "неверная строка ввода"

Используйте для понимания этого. Как я понимаю для получения длины песни нужно использовать команду status MediaFile length track number, где status - основная команда, MediaFile - сказать использовать текущий открытый MediaFile, length track number - запрошенный параметр. Используйте этот метод только после открытия файла.

2 ответа

Я знаю, что это старый вопрос, но я думаю, что вы неправильно прочитали документацию, length track number должен быть заменен length track 1, length track 2,... где number это фактический трек #:)

У меня такая же проблема: с музыкой, которая длится 3 минуты, проблем нет. Однако, если вы превысите 4 минуты, появится ошибка.

lastinformation: С аудиофайлами "wav" ошибок не возникает.

Другие вопросы по тегам