Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C++] mciSendString registrazione audio

    Un saluto a tutti.

    Avrei da chiedervi un aiuto.
    Io dovrei registrare dei file audio ad una velocità di 768kbit/s e con una frequenza di 48 kHz...

    Questa è una parte di stringa del mio codice:
    codice:
    mciSendString("open new type waveaudio alias mysound","",0,0);
    mciSendString("record mysound","",0,0);
    I file audio mi vengono registrati ad una velocità di 88kbit/s e non so a quale frequenza.
    C'è un modo per settarlo alla velocità e frequenza desiderata?!
    Ho guardato su msdn però non mi sembra che venga trattato questo discorso.
    Un saluto a tutti

    Giovanni

  2. #2

    [C++] Problemi con registrazione audio mediante mcisendcommand e mcisendstring

    Un saluto a tutti...
    Ho necessità di effettuare registrazioni audio a 768 kbps...
    Utilizzando la funzione mci send string, i file audio mi vengono registrati ad 88kbps...
    Così ho utilizzato la funzione mcisendcommand realizzando una cosa di questo tipo:
    codice:
    UINT wDeviceID;
       DWORD dwReturn;
       MCI_OPEN_PARMS op;
    
    
       op.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_WAVEFORM_AUDIO;
    
    
       
       if (dwReturn = mciSendCommand(0, MCI_OPEN,MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID,
          (DWORD)(LPVOID) &op))
                            cout << "errore" << endl;
        
       wDeviceID = op.wDeviceID;
       cout << wDeviceID << endl;   
         
       MCI_WAVE_SET_PARMS configurazione;
       configurazione.nSamplesPerSec=48000;
       configurazione.wBitsPerSample=16; 
       
       mciSendCommand(wDeviceID,MCI_SET,MCI_NOTIFY,(DWORD) &configurazione);
       
            
       ifstream fprompt(promtspath);
       
       for(int i=0; i<WAV_SAMPLES_NUM; i++)
            {
            cout << "Premere invio quando si è pronti" << endl;
            system("PAUSE");
            mciSendString("open new type waveaudio alias mysound","",0,0);
            mciSendString("record mysound","",0,0);
            
            cout << "Registrando sample" << i+1 << endl;
            cout << "Dire:" << endl;
            
            fprompt>>temp;
            fprompt.getline(audio,LINESIZE);
            
            cout << audio << endl;
            system("PAUSE");
            itoa(i+1,samplenumber,10);
            strcpy(wavpathparticular,wavpathgeneral);
            strcat(wavpathparticular,samplenumber);
            strcat(wavpathparticular,".wav");
            mciSendString(wavpathparticular,"",0,0);
            }
    I miei file audio risultano però sempre di 88kbps...
    Dove sbaglio?!
    L'errore si trova quando utilizzo il comando MCI_SET nella funzione mcisendcommand.
    La mcisendcommand mi restituisce il numero 274 che significa che il dispositivo in uso non supporta il comando specificato...
    Come risolvere l'errore?!
    Vi ringrazio
    Un saluto

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Ho unito le discussioni che hai aperto, visto che si tratta della naturale evoluzione dello stesso problema.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Va bene...
    Comunque il problema me lo sono risolto da solo!!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Originariamente inviato da Giovanni Pr88
    Comunque il problema me lo sono risolto da solo!!
    In genere, quando si risolvono i problemi posti, la soluzione andrebbe pubblicata in modo che vada a beneficio di tutti coloro che in futuro dovessero trovarsi ad affrontare il medesimo ostacolo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Ho risolto utilizzando il comando mcisendstring passandogli il comando set...

    Ecco la riga di codice

    codice:
    mciSendString("set mysound format tag pcm bitspersample 16 channels 1 samplespersec 48000 bytespersec 96000 alignment 2","",0,0);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.