Pergunta

Eu tenho um mp3 player que envia comandos do MCI para reproduzir pausas/ff/rw/stop os arquivos de áudio etc e a única coisa que não consigo descobrir como fazer é enviar um comando mci para dizer para tocar a próxima música quando a música Atualmente, o One terminou.

As músicas estão em uma caixa de listagem. Não tenho problemas para realmente selecionar a próxima música, só preciso descobrir quando Para tocar a próxima música na lista de reprodução. Eu apreciaria qualquer ajuda

Obrigada :)

Foi útil?

Solução

Desculpe dragar isso depois de um mês ou mais, mas eu acho Eu posso ter uma resposta mais agradável ...

Você pode fazer o comprimento em segundos, ou pode que o MCI o notifique.

Quando você envia seu comando "play", tole o "notificar" após o pseudônimo da mídia e depois passa a alça da sua janela (estou usando o System.windows.forms, daí o 'this.handle'), assim:

uint playOk = mciSendString("play MediaFile notify", null, 0, this.Handle);

Isso diz ao MCI para enviar uma notificação quando o comando é concluído ou é interrompido. Então você pode apenas filtrar as mensagens que sua janela recebe para ver se alguma coisa está interessada se passa:

private const int MM_MCINOTIFY = 0x03b9;
private const int MCI_NOTIFY_SUCCESS = 0x01;    
private const int MCI_NOTIFY_SUPERSEDED = 0x02;
private const int MCI_NOTIFY_ABORTED = 0x04;
private const int MCI_NOTIFY_FAILURE = 0x08;

protected override void WndProc(ref Message m)
{
  if (m.Msg == MM_MCINOTIFY)
  {
    switch (m.WParam.ToInt32())
    {
      case MCI_NOTIFY_SUCCESS:
        // success handling
        break;
      case MCI_NOTIFY_SUPERSEDED:
        // superseded handling
        break;
      case MCI_NOTIFY_ABORTED:
        // abort handling
        break;
      case MCI_NOTIFY_FAILURE:
        // failure! handling
        break;
      default:
        // haha
        break;
    }
  }
  base.WndProc(ref m);
}

Isso parece estar funcionando muito bem para mim. Eu espero que isso ajude. ;)

Outras dicas

Você pode verificar a duração do MP3 e manter um cronômetro ao lado da reprodução de MP3? Pause o cronômetro quando o MP3 é pausado, etc. Quando a duração da música tocou, toque a próxima música.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top