Windows Phone supporta diversi punti di estendibilità. Uno di questi consente alle applicazioni di registrarsi all'interno dell'hub Music+Video (Zune), così da poter riportare i media (video o musica) all'interno della history, come avviene per quelli gestiti direttamente dal sistema.
Questa feature è molto interessante e consente di integrare al meglio la propria applicazione. Per prima cosa, è necessario aprire il file del manifest (WMAppManifest.xml) situato all'interno delle proprietà del progetto, aggiungendo al tag App l'attributo HubType="1". Questo serve a fare in modo che sia possibile testare su un device sbloccato la funzionalità. Attualmente non è possibile testare questa feature con l'emulatore.
Una volta fatto questo, occorre utilizzare alcune classi che si trovano nel namespace Microsoft.Devices, che servono per aggiungere le informazioni relative all'elemento che è in riproduzione. Si può impostare l'elemento in play, aggiungerlo all'history ed all'elenco delle novità. Eccone un esempio:
using (Stream thumb = Application.GetResourceStream(
new Uri("Background.png", UriKind.Relative)).Stream)
{
// l'immagine deve essere 173x173
MediaHistoryItem item = new MediaHistoryItem
{
Title = "Titolo",
Source = "Sottotitolo",
ImageStream = thumb,
};
// aggiungo informazioni di contesto
item.PlayerContext.Add("VideoID", url);
// imposto su "now playing"
MediaHistory.Instance.NowPlaying = item;
thumb.Seek(0, SeekOrigin.Begin);
// aggiungo all'history
MediaHistory.Instance.WriteRecentPlay(item);
thumb.Seek(0, SeekOrigin.Begin);
// aggiungo alle novità
MediaHistory.Instance.WriteAcquiredItem(item);
}Ovviamente, queste API possono essere chiamate in maniera indipendente. Ad esempio, si potrebbe caricare l'elenco delle ultime novità alla partenza dell'applicazione, mentre aggiungere all'history ed impostare l'elemento in riproduzione solo quando, effettivamente, viene riprodotto qualcosa.
E' importante sottolineare il valore dell'elemento VideoID, impostato in precedenza. Cliccando sull'icona che viene aggiunta nell'hub video, infatti, l'applicazione viene fatta partire passando, con il sistema di navigazione di Sivlerlight, un token all'interno dell'URI richiesto, così che sia possibile navigare verso l'item richiesto. Nell'esempio, invece, viene semplicemente visualizzata l'icona, nuovamente.
public partial class MainPage : PhoneApplicationPage
{
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey("token"))
{
// recuperiamo l'ID
string id = NavigationContext.QueryString["token"];
// recuperiamo l'immagine da Zune
MediaLibrary library = new MediaLibrary();
Picture picture = library.GetPictureFromToken(id);
// leggiamo e visualizziamo l'immagine
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(picture.GetImage());
WriteableBitmap picLibraryImage = new WriteableBitmap(bitmap);
MyPicture.Source = picLibraryImage;
}
}
}
}Un esempio di risultato si può vedere nell'immagine che segue:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Importare repository da Bitbucket a GitHub Enterprise Cloud
Eseguire query in contemporanea con EF
Ridurre il reflow ottimizzando il CSS
Utilizzo delle stepped value functions nel CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Ciclo di vita risorse con .NET Aspire
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Gestione opzioni colonna nella Blazor QuickGrid
Gestire progetti NPM in .NET Aspire
Montare Azure Blob Storage su Linux con BlobFuse2
Recuperare le subissue e il loro stato di completamento in GitHub
Supporto nativo a JSON in SQL Server 2025
I più letti di oggi
- Future Dev Day - Milano
- Global Azure 2026 - ASPItalia.com - Milano
- Gli agenti AI sono uno dei temi più interessanti del momento, ma costruirli bene richiede molto più di un semplice prompt. In questa sessione parleremo di Azure AI Foundry con un taglio concreto, utile per capire come progettare agenti AI enterprise-grade, integrarli con tool e memoria, monitorarli e gestirne il deployment in modo efficace. Ci vediamo a Milano al Global Azure 2026 - ASPItalia.com, con Stefano Demiliani. #GlobalAzure #Azure #AzureAIFoundry #AI #AIAgents https://aspit.co/globalazure-26
- Esporre workflow come server MCP con Azure Logic Apps
- Global Azure Milan 2020 - Online
- Microsoft Visual Studio Code: un nuovo editor gratuito per Windows, MacOSX e Linux per sviluppatori ASP.NET e Node.js
- Azure AI Foundry: la piattaforma per i tuoi agenti intelligenti
- Chiedilo ai tuoi dati: Fabric Data Agents in azione
- Keynote The Agentic Day 2025
- Response streaming con Blazor e .NET 10




