Sto tentando di scrivere codice che legge ogni elemento dalla libreria di Windows Media Player dell'utente. Questo codice funziona per la maggior parte degli utenti, ma per alcuni utenti, getAll()
restituirà un elenco vuoto quando ha chiaramente centinaia o migliaia di elementi nella libreria di Windows Media Player.WMPLib: player.mediaCollection.getAll(). Count è sempre 0
var player = new WindowsMediaPlayer();
var collection = player.mediaCollection;
var list = collection.getAll();
int total = list.count;
sto riferimento al namespace WMPLib
con l'aggiunta di un riferimento COM alla Wmp.dll. La mia applicazione viene fornita con Interop.WMPLib.dll. Come sarebbero configurate le macchine di alcuni utenti in modo tale da far girare Windows Media Player con molti brani nella loro libreria, ma WMPLib non funziona correttamente? Inoltre, quali soluzioni alternative esistono per leggere in modo affidabile la libreria di Windows Media Player dell'utente in tutti i casi?
Se si ha accesso a una macchina da testare, quale valore si ottiene da "Settings.mediaAccessRights'? –
WMPLib non funziona correttamente?, Posso richiedere di postare l'errore? – Soundararajan
In generale le librerie di Interop sono specifiche per una versione di DLL e, se qualcosa cambia nella DLL COM sottostante, sarà necessario disporre della DLL di interoperabilità appropriata. Sai se WMP ... dll è uguale e compatibile tra tutte le versioni di tutte le finestre. Alcune finestre come la serie WIndows 7 N non vengono fornite con Windows Media Player. Inoltre è una buona idea ottenere la configurazione dalle persone che segnalano errori e cercare di trovare i fatti da loro – Soundararajan