Riproduzione automatica - AutoPlay
AutoPlay , una funzionalità introdotta in Windows 98 , esamina i supporti ei dispositivi rimovibili appena scoperti e, in base a contenuti quali immagini, musica o file video, avvia un'applicazione appropriata per riprodurre o visualizzare il contenuto. È strettamente correlato alla funzionalità del sistema operativo AutoRun . AutoPlay nasce per semplificare l'utilizzo dei dispositivi periferici – lettori MP3 , schede di memoria , dispositivi di archiviazione USB e altri – avviando automaticamente il software necessario per accedere e visualizzare i contenuti su questi dispositivi. AutoPlay può essere migliorato da software e hardware compatibili con AutoPlay. Può essere configurato dall'utente per associare le applicazioni preferite agli eventi e alle azioni di AutoPlay.
Panoramica
Quando un utente inserisce un CD-ROM in un'unità o collega una fotocamera USB, Windows rileva l'arrivo e avvia un processo di esame del dispositivo o di ricerca del supporto. Sta cercando le proprietà del dispositivo o del contenuto sul supporto in modo che AutoPlay possa presentare una serie di opzioni significative all'utente. Quando l'utente fa una scelta particolare, ha anche la possibilità di rendere quella selezione automatica la prossima volta che Windows vede quel contenuto o dispositivo.
La finestra di dialogo mostra il risultato di un utente che inserisce un DVD in un lettore DVD, in questo caso l' unità D:. AutoPlay ha determinato che il contenuto è molto probabilmente un film in DVD e presenta una serie di azioni all'utente in base a tale decisione. Queste azioni sono chiamate gestori e ci sono insiemi di gestori associati a vari tipi di contenuto. L'utente può ora prendere una decisione e fare clic su OK per procedere. Tuttavia, se a questo punto selezionano anche la casella di controllo "Esegui sempre l'azione selezionata", non verranno richiesti la prossima volta che quel particolare tipo di contenuto viene visualizzato su quella particolare unità; l'applicazione selezionata si avvierà automaticamente.
Proprietà di riproduzione automatica
Se un utente si rammarica di tale decisione o desidera effettuare selezioni automatiche di AutoPlay per un particolare tipo di contenuto, le proprietà di AutoPlay per qualsiasi unità sono accessibili tramite l' icona Risorse del computer sul desktop. Selezionando un'unità e quindi "File/Proprietà" dal menu di Esplora risorse , seguito dalla selezione della scheda AutoPlay, viene visualizzata una finestra di dialogo simile a quella mostrata. I tipi di contenuto possono essere selezionati con la casella a discesa. Qui la finestra di dialogo mostra i gestori disponibili se AutoPlay determina il tipo di contenuto sull'unità D: essere "Immagini". La selezione di un'azione da eseguire rende l'azione automatica per quell'utente. Selezionando "Chiedimi ogni volta di scegliere un'azione" si elimina qualsiasi associazione; AutoPlay chiederà la prossima volta.
I tipi di contenuto disponibili variano in base al tipo di unità selezionato. Immagini, file musicali e file video sono disponibili con qualsiasi unità. Le unità DVD e CD possono anche avere "CD musicale" o "Filmato DVD" e Windows Vista ne aggiunge altri come "Filmato CD video" all'elenco.
Contenuto misto
"Contenuto misto" è il risultato di tipi di contenuto di file che rientrano in più di uno dei tipi di contenuto di immagini, file musicali o file video. Si noti che un CD contenente tracce audio è sempre considerato da Windows un "CD musicale", indipendentemente dalla presenza di tracce dati. Pertanto, un CD con file immagine, file video e tracce audio è un "CD musicale"; non è "Contenuto misto".
Se questo è il risultato della decisione AutoPlay, all'utente viene sempre presentata la finestra di dialogo AutoPlay. Questo conterrà una selezione di applicazioni ritenute appropriate per il contenuto trovato. Pertanto, se i file musicali e i file video vengono rilevati entrambi su un'unità flash, l'utente potrà scegliere tra i gestori per "File musicali" insieme ai gestori per "File video". In questo caso, l'utente non può rendere la propria selezione quella predefinita.
Tuttavia, la finestra di dialogo delle proprietà di AutoPlay per qualsiasi unità di solito fornisce "Contenuto misto" come opzione del tipo di contenuto. Le opzioni disponibili qui sono limitate alle azioni che possono gestire qualsiasi tipo di file, di solito "Apri cartella per visualizzare i file" è l'unico gestore elencato qui. Ciò consente all'utente di rendere tale azione l'impostazione predefinita per il contenuto misto.
Dispositivi senza volume
Alcuni tipi di dispositivi non vengono visualizzati come lettere di unità in "Risorse del computer". Questi sono chiamati dispositivi senza volume e AutoPlay li gestisce in modo leggermente diverso dai dispositivi con volume come CD e DVD. Molte fotocamere digitali e dispositivi video rientrano in questa categoria.
Poiché Windows non può esaminare i file sul dispositivo per determinare il tipo di contenuto, spetta al produttore decidere come procedere. Un produttore può registrare i gestori per il proprio dispositivo particolare, può aggiungere il proprio dispositivo a un gruppo di dispositivi (es: ZipDrive) o consentire a una classe di dispositivi (es: tutti i dispositivi che sono videocamere) di gestire il proprio dispositivo per loro. Questo determina quali gestori saranno elencati nella finestra di dialogo AutoPlay quando il loro dispositivo viene scoperto.
Poiché questi tipi di dispositivi non hanno una lettera di unità, le proprietà di AutoPlay non sono accessibili e modificabili tramite "Risorse del computer". Tuttavia, quando un dispositivo è collegato, il rilevamento fa sì che Windows inserisca un'icona nell'area di notifica della barra delle applicazioni (comunemente denominata vassoio ). Le preferenze di AutoPlay per questo dispositivo possono ora essere modificate facendo clic su questa icona. L'immagine adiacente mostra l'icona che è apparsa quando è stata collegata una videocamera.
Impostazioni predefinite
In una nuova installazione di Windows, un set predefinito di applicazioni di gestione viene registrato con il sistema AutoPlay. Di seguito sono riportate le impostazioni predefinite con Windows XP SP2. L' Azione e il Provider sono semplicemente stringhe memorizzate all'interno dell'Handler, possono variare per dare all'utente un'idea migliore di cosa accadrà se sceglie quell'azione. Possono anche cambiare per adattarsi alla lingua preferita dell'utente. Molti gestori utilizzano la stessa applicazione Windows; ad esempio, Windows Media Player viene utilizzato per riprodurre file musicali e film in DVD. La parola "usare" viene aggiunta da AutoPlay per unire ordinatamente le due stringhe.
| Contenuto | Azione | Fornitore |
|---|---|---|
| File musicali | Giocare a | Windows Media Player |
| Apri la cartella per visualizzare i file | Windows Explorer | |
| Immagini | Copia le immagini in una cartella sul mio computer | Procedura guidata scanner e fotocamera Microsoft |
| Visualizza una presentazione delle immagini | Visualizzatore immagini e fax di Windows | |
| Stampa le immagini | Procedura guidata per la stampa di foto | |
| Apri la cartella per visualizzare i file | Windows Explorer | |
| File video | Giocare a | Windows Media Player |
| Apri la cartella per visualizzare i file | Windows Explorer | |
| Contenuto misto | Apri la cartella per visualizzare i file | Windows Explorer |
| CD musicale | Copia musica da CD | Windows Media Player |
| Riproduci CD audio | Windows Media Player | |
| Apri la cartella per visualizzare i file | Windows Explorer | |
| film in DVD | Riproduci film in DVD | Windows Media Player |
| Apri la cartella per visualizzare i file | Windows Explorer | |
Windows 95 e Windows 98
Windows 95 e Windows 98 hanno una versione primitiva di AutoPlay. Il suo unico compito è occuparsi di CD audio e DVD di film e avviare un'applicazione per gestirli. Se il nuovo arrivato non rientra in una di queste categorie Windows procede con la consueta procedura di AutoRun.
L'azione intrapresa con CD audio e DVD film considera essenzialmente entrambi i tipi di media come se fossero file ; Explorer quindi esegue semplicemente l'azione predefinita associata a quel tipo di file. I tipi di file e le azioni ad essi associate possono essere visualizzati e modificati da qualsiasi cartella di Explorer dalla scheda "Tipi di file" del menu "Strumenti/Opzioni cartella". Sono archiviati nel Registro di sistema sotto HKEY_CLASSES_ROOT.
Se il CD è un CD audio in formato standard Red Book , Explorer richiama l'azione predefinita registrata per il tipo di file AudioCD . Questo è normalmente impostato su "Riproduci" e comunemente chiama cdplayer.exe .
Se il DVD è un DVD di film, Explorer richiama l'azione predefinita registrata per il tipo di file DVD . I DVD di film sono riconosciuti dall'esistenza del file \video_ts\video_ts.ifo . Anche l'azione per DVD è normalmente impostata su "Riproduci" e comunemente chiama dvdplay.exe .
Il fatto che il controllo per CD audio e DVD di film venga eseguito prima di AutoRun ha implicazioni per disabilitare la riproduzione automatica di questi tipi di media. La disattivazione dell'esecuzione automatica tramite il Registro di sistema o i Criteri di gruppo o la ricerca di messaggi QueryCancelAutoPlay all'interno di un'applicazione non impedisce la riproduzione automatica di questi tipi di media all'inserimento.
Tuttavia, è possibile disabilitare i CD audio modificando il tipo di file per AudioCD e facendo clic su "Imposta predefinito". Questo rimuoverà l'azione Riproduci come predefinita per quel tipo di file. In alternativa, modificando la voce (predefinita) nella chiave HKEY_CLASSES_ROOT\AudioCD\Shell su "" (una stringa vuota) si otterrà lo stesso risultato. L'azione di disattivazione per i DVD di film è la stessa, con "DVD" utilizzato al posto di "AudioCD".
Le impostazioni del registro pertinenti sono mostrate di seguito insieme ai loro valori predefiniti in Windows 98SE:
HKEY_CLASSES_ROOT\AudioCD\shell
(Default) "Play"
HKEY_CLASSES_ROOT\AudioCD\shell\play
(Default) "&Play"
HKEY_CLASSES_ROOT\AudioCD\shell\play\command
(Default) "%SystemRoot%\cdplayer.exe /play %1"
HKEY_CLASSES_ROOT\DVD\shell
(Default) "Play"
HKEY_CLASSES_ROOT\DVD\shell\play
(Default) "&Play"
HKEY_CLASSES_ROOT\DVD\shell\play\command
(Default) "%SystemRoot%\system32\dvdplay.exe /play %1"
Volumi
Esecuzione automatica
Se un file chiamato autorun.inf esiste nella directory principale del file system, le impostazioni in quel file possono aggiungersi alle opzioni presentate all'utente o influenzare la visualizzazione che AutoPlay ha del contenuto. In Windows XP, l'esistenza di questo file può influire sul flusso del processo: l'esecuzione automatica può procedere all'esecuzione di un'applicazione direttamente senza l'intervento dell'utente. In Windows Vista, AutoRun non può ignorare AutoPlay in questo modo; può solo aggiungere alle opzioni presentate all'utente. La sezione Gestione Inf dell'articolo AutoRun descrive in dettaglio quando e se viene richiamato AutoPlay.
Il livello di esecuzione automatica inizialmente consulta i valori del Registro di sistema di Windows per decidere se avviare azioni per una determinata unità o tipo di unità. Se l'esecuzione automatica è stata disabilitata per il volume appena scoperto, il processo si interrompe a quel punto, disabilitando effettivamente la riproduzione automatica per quel volume.
Sniffing di contenuti
Al termine dell'esecuzione automatica, viene avviata la riproduzione automatica eseguendo un esame del volume per il contenuto. Questo è chiamato sniffing del contenuto . AutoPlay decide se il volume è un CD audio, un DVD di film, un supporto registrabile vuoto (CD-R, CD-RW, DVD+R ecc.) o un volume generico che contiene file.
Nel caso di un volume generico, AutoPlay inizia con la directory principale e cerca nel file system fino a una profondità di quattro livelli di directory al di sotto della directory principale per trovare i tipi di file che rientrano in determinate categorie o "tipi di contenuto".
Se questa ricerca richiede più di un secondo, una finestra di dialogo di avanzamento mostra il processo di scansione in corso. Questa finestra di dialogo può essere facilmente confusa con un'operazione di copia di Explorer; tuttavia, nessun file viene copiato o spostato.
Tipi di contenuto
Per quanto riguarda lo sniffing di AutoPlay, i file rientrano in tre categorie principali o "tipi di contenuto". I file al di fuori di queste categorie non sono di interesse:
| Immagini | .jpg .gif .bmp .png ... |
|---|---|
| Musica | .mp3 .wav .wma ... |
| video | .avi .mpg ... |
Il contenuto è considerato "contenuto misto" se i file rientrano in più di una delle tre categorie.
Il contenuto è considerato sconosciuto se il processo di sniffing del contenuto non trova contenuti classificabili. Ciò non significa che non siano presenti file, ma semplicemente che non rientrano in uno o più dei tre tipi di contenuto precedenti. In questo caso AutoPlay apre una finestra di Explorer nella directory principale del supporto e il flusso del processo termina qui.
PerceivedType
Per classificare i file nei tre tipi di contenuto, viene utilizzato il valore PerceivedType associato a varie estensioni di file per determinare la categoria. PerceivedType può essere impostato su "immagine", "audio" o "video" per classificare i file rispettivamente in tipi di contenuto Immagini, Musica o Video. Esistono altri PerceivedType noti a Windows (testo, compressione, sistema e applicazione) ma non sono rilevanti per AutoPlay.
Tutte le informazioni sul tipo di file sono memorizzate nel Registro di sistema in HKEY_CLASSES_ROOT. Di seguito sono riportate le informazioni del registro PerceivedType per i file .avi Video e .mp3 Music:
HKEY_CLASSES_ROOT\.avi
(Default) "avifile"
PerceivedType "video"
HKEY_CLASSES_ROOT\.mp3
(Default) "mp3file"
PerceivedType "audio"
EventHandler (volume)
L'EventHandler è il titolo di una tabella che crea un'associazione tra vari gestori e l'evento di attivazione. Nel caso di eventi basati sul volume, gli EventHandlers sono generati completamente internamente ad AutoPlay senza alcun riferimento al Registro.
Si noti che l'esame della sezione AutoPlayHandlers del registro di Windows rivela le chiavi ContentTypeSniffers e ContentTypeHandlers . Fuori da questi tasti, varie sottochiavi e valori sembrerebbero essere correlati e persino controllare la riproduzione automatica basata sul volume. Tuttavia, a partire da Windows XP SP2, queste chiavi sono definite esclusivamente per un uso futuro e non sono accessibili da AutoPlay.
Uno dei seguenti EventHandler predefiniti viene scelto in base esclusivamente alla decisione presa internamente da AutoPlay dopo l'esame del volume e lo sniffing del contenuto:
| Media o tipo di contenuto | Gestore di eventi |
|---|---|
| Immagini | Mostra foto all'arrivo |
| File musicali | Riproduci file musicali all'arrivo |
| File video | PlayVideoFilesOnArrival |
| Contenuto misto | Contenuto misto all'arrivo |
| CD-R/CD-RW vuoto | HandleCDBurningOnArrival |
| CD musicale | PlayCDAudioOnArrival |
| film in DVD | Riproduci film su DVD all'arrivo |
| Aggiunto in Windows Vista | |
| Film Super VideoCD | RiproduciSuperVideoCDMovieOnArrival |
| Film su CD video | PlayVideoCDMovieOnArrival |
| Un autorun.inf specifica un eseguibile | AutorunINFLegacyArrivo |
Non volumi
Caratteristiche del dispositivo
Poiché Windows non può eseguire lo sniffing del contenuto su dispositivi senza volume, AutoPlay analizza questi dispositivi in base alle loro caratteristiche piuttosto che al loro contenuto. Ogni dispositivo appena scoperto dispone di informazioni di identificazione, normalmente memorizzate all'interno del dispositivo stesso. Queste informazioni vengono raccolte dagli enumeratori e vengono utilizzate per creare stringhe di identificazione a cui Windows fa riferimento quando accede e fa riferimento al dispositivo. Una stringa di identificazione per un particolare dispositivo è chiamata ID dispositivo .
Per identificare in modo univoco ogni istanza di ogni dispositivo installato, Windows assegna un ID istanza a ciascun dispositivo. Questo ID contiene informazioni sulla posizione o un numero di serie, se supportato.
Combinando l'ID dispositivo con l'ID istanza si ottiene una stringa che identifica in modo univoco un singolo dispositivo in un sistema. Questo è l' ID istanza del dispositivo . Un esempio di una stringa da un dispositivo PCI è:
- PCI\VEN_1274&DEV_1371&SUBSYS_8030107B&REV_04\0&0E
Quando Windows rileva un nuovo dispositivo, memorizza le istanze del dispositivo nel registro da:
- HKLM\SYSTEM\CurrentControlSet\Enum
Il Gestore dispositivi di Windows (situato sotto l'icona Sistema nel Pannello di controllo) rivelerà l'ID dell'istanza del dispositivo per qualsiasi dispositivo particolare. Ottenere le proprietà di qualsiasi dispositivo, selezionando la scheda Dettagli della finestra di dialogo Proprietà e selezionando "ID istanza dispositivo" dalla casella a discesa recupererà le informazioni.
Un'altra caratteristica di ogni dispositivo è la Device Interface Class . Definisce un contratto di interfaccia, in cui un dispositivo accetta di supportare un set di base di chiamate di controllo input/output relative a quella classe interfaccia dispositivo. Ad esempio, un dispositivo che accetta di supportare il contratto di interfaccia della tastiera deve supportare la chiamata IOCTL IOCTL_KEYBOARD_QUERY_ATTRIBUTES, tra le altre. Ogni classe è rappresentata come un grande numero univoco universale chiamato GUID .
Un dispositivo può registrare molti GUID di classe interfaccia dispositivo per se stesso, contraendosi per supportare varie chiamate di interfaccia appropriate. Il GUID della classe di interfaccia più comune relativo ai dispositivi di archiviazione è il GUID della classe di interfaccia del dispositivo del volume, {53F5630D-B6BF-11D0-94F2-00A0C91EFB8B }.
I GUID delle classi di interfaccia del dispositivo possono essere trovati nel Registro di sistema sotto:
- HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses .
Gestore dispositivo
Quando viene analizzato un dispositivo senza volume, AutoPlay cerca in diversi punti del Registro di sistema una voce DeviceHandlers . Questa è semplicemente una stringa che, se combinata con altre informazioni, seleziona un EventHandler (che tabella gli Handler). Le voci DeviceHandlers sono comunemente inserite nel Registro di sistema dal produttore del dispositivo. Esistono anche categorie più ampie di dispositivi che hanno DeviceHandlers preassegnati, ad esempio dispositivi Videocamera.
Il primo posto in cui viene visualizzato AutoPlay è sotto la chiave Device Parameters dell'istanza del dispositivo. Per esempio:
- USB\Vid_059b&Pid_0031&REV_0100
è la stringa di identificazione del dispositivo USB per un'unità ZIP USB Iomega. In combinazione con un numero di serie USB, ad esempio 059B003112010E93 , questo forma l'ID istanza del dispositivo per il dispositivo. Quindi la chiave dei parametri del dispositivo si trova in:
HKLM\...\Enum\USB\Vid_059b&Pid_0031\059B003112010E93\Device Parameters
Icons ""
NoMediaIcons ""
Label ""
DeviceHandlers "ZipDeviceHandler"
Il valore di DeviceHandlers in questo caso è "ZipDeviceHandler". Qui possono essere presenti anche altri parametri del dispositivo: Le icone possono specificare un'icona per rappresentare il dispositivo insieme a NoMediaIcons per rappresentare il dispositivo quando non è presente alcun supporto. Etichetta specifica un nome descrittivo per il dispositivo.
Se non viene trovata alcuna voce DeviceHandlers nell'istanza del dispositivo, AutoPlay verifica l'esistenza di una voce DeviceGroup, sempre nell'istanza del dispositivo. Ciò consente a un intero set di dispositivi di condividere i parametri del dispositivo.
HKLM\...\Enum\USB\Vid_059b&Pid_0031\059B003112010E93\Device Parameters
DeviceGroup "ZipDrive100"
I parametri per questo gruppo di dispositivi sono memorizzati in:
- HKLM\...\AutoPlayHandlers\DeviceGroups\ devicegroup
Quindi per l'esempio del gruppo ZipDrive100:
HKLM\...\AutoPlayHandlers\DeviceGroups\ZipDrive100
Icons "%SystemRoot%\system32\shell32.dll,-230\0\0"
Label "Zip Drive 100"
DeviceHandlers "ZipDeviceHandler"
Infine, AutoPlay ricerca i GUID di classe dell'interfaccia del dispositivo pertinenti. I parametri per le classi di dispositivi sono memorizzati in:
- HKLM\...\AutoPlayHandlers\DeviceClasses\ {classguid}
Ecco la voce che l'applicazione Microsoft Movie Maker registra per tutti i dispositivi Videocamera:
HKLM\...\AutoPlayHandlers\DeviceClasses\{CC7BFB41-F175-11D1-A392-00E0291F3959}
DeviceHandlers "VideoCameraDeviceHandler"
Label "@C:\Program Files\Movie Maker\wmm2res.dll,-63094"
Icons "C:\WINDOWS\system32\shell32.dll,-317\0\0"
Guarda anche
- Software che fornisce funzionalità simili in altri ambienti
- gnome-volume-manager in GNOME
- Thunar (usando il plugin thunar-volman) in Xfce
Riferimenti
link esterno
- AutoPlay in Windows XP , MSDN Magazine, novembre 2001
- Implementa un gestore di riproduzione automatica , CodeProject