Esempio di attributi CDINFO: riproduzione di brani audio su CD e visualizzazione delle relative informazioni
Aggiornamento: novembre 2007
Nell'esempio di attributi CDINFO vengono utilizzate le API MCI (Media Control Interface) per recuperare la durata dei brani del CD audio attualmente inserito nell'unità CD-ROM. La durata dei brani viene quindi visualizzata in un grafico a torta. In CDINFO viene illustrato anche come utilizzare il controllo comune Descrizione comando per implementare una descrizione comandi. In questo caso, nella descrizione comandi viene indicata la durata del brano audio corrispondente alla posizione del cursore sul grafico a torta.
Nota: |
---|
Alcuni esempi, tra cui il presente, non sono stati cambiati per riflettere le modifiche apportate alle procedure guidate, alle librerie e al compilatore di Visual C++, tuttavia forniscono comunque le istruzioni per completare l'attività desiderata. |
Nota sulla sicurezza: |
---|
Questo esempio di codice viene fornito solo a scopo dimostrativo e non deve essere utilizzato in applicazioni o siti Web, poiché potrebbe non implementare le tecniche migliori a livello di sicurezza. Microsoft esclude ogni responsabilità per danni diretti o indiretti derivanti dall'utilizzo dell'esempio di codice per scopi diversi da quelli previsti. |
Per ottenere gli esempi e le istruzioni per l'installazione:
In Visual Studio scegliere Esempi dal menu ?.
Per ulteriori informazioni, vedere Individuazione dei file di esempio.
La versione più recente e l'elenco completo degli esempi sono disponibili in linea alla pagina Visual Studio 2008 Samples.
È anche possibile trovare gli esempi sul disco rigido del computer. Per impostazione predefinita, gli esempi e il file Leggimi vengono copiati in una cartella nel percorso \Programmi\Visual Studio 9.0\Samples\. Per le versioni Express di Visual Studio, tutti gli esempi sono disponibili in linea.
Generazione ed esecuzione dell'esempio
Per generare ed eseguire l'esempio
Aprire il file di soluzione CDInfo.sln.
Scegliere Genera dal menu Genera.
Dopo la generazione dell'esempio, aprire CDInfo.htm nel browser Web e attenersi alle istruzioni.
Proprietà e metodi
Il controllo implementa i metodi riportati di seguito.
Read Legge le informazioni sulla lunghezza dei brani dal CD attualmente presente nell'unità e visualizza tali informazioni sotto forma di grafico a torta.
Redraw Ridisegna il grafico a torta per il CD corrente.
Play Avvia la riproduzione del CD in corrispondenza del numero di brano specificato. Il grafico a torta viene inoltre ruotato in modo da visualizzare nella parte superiore il brano che viene riprodotto.
Sono disponibili le proprietà riportate di seguito.
Tracks Numero dei brani memorizzati nel CD.
Length Durata in secondi del numero di brano specificato.
TotalLength Durata complessiva del CD espressa in secondi.
Attributi
Nell'esempio vengono utilizzati i seguenti attributi:
coclass, default, dispinterface, dual, emitidl, event_source, helpstring, id, implements_category, in, module, object, out, pointer_default, progid, propget, propput, registration_script, retval, threading, uuid, version, vi_progid
Parole chiave
Nell'esempio vengono utilizzate le parole chiave seguenti:
BEGIN_COM_MAP; BEGIN_CONNECTION_POINT_MAP; BEGIN_MSG_MAP; BEGIN_OBJECT_MAP; BEGIN_PROPERTY_MAP; CComCoClass; CComControl; CComObjectRoot; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_IMPL; CONNECTION_POINT_ENTRY; CProxyCDEvents; CreateBrushIndirect; CreateRectRgn; DECLARE_REGISTRY_RESOURCEID; DeleteDC; DeleteObject; DrawCD; Ellipse; END_COM_MAP; END_CONNECTION_POINT_MAP; END_MSG_MAP; END_OBJECT_MAP; END_PROPERTY_MAP; IConnectionPointContainerImpl; IConnectionPointImpl; IDataObjectImpl; IDispatchImpl; IOleControlImpl; IOleInPlaceActiveObjectImpl; IOleInPlaceObjectWindowlessImpl; IOleLinkImpl; IOleObjectImpl; IPerPropertyBrowsingImpl; IPersistStorageImpl; IPersistStreamInitImpl; IPropertyNotifySinkCP; IProvideClassInfo2Impl; IQuickActivateImpl; IRunnableObjectImpl; IViewObjectExImpl; LineTo; mciSendCommand; MESSAGE_HANDLER; MoveToEx; OBJECT_ENTRY; ReduceRect; RelayEvent; SelectClipRgn; SelectObject; VariantInit; ZeroMemory