Iniciando automaticamente com a Reprodução AutomáticaAuto-launching with AutoPlay

Você pode usar a reprodução automática para fornecer seu aplicativo como uma opção quando um usuário conecta um dispositivo ao seu PC.You can use AutoPlay to provide your app as an option when a user connects a device to their PC. Isso inclui dispositivos sem volume, como uma câmera ou um player de mídia, ou dispositivos com volume, como pen drives, cartões de memória ou DVDs.This includes non-volume devices such as a camera or media player, or volume devices such as a USB thumb drive, SD card, or DVD. Também é possível usar a Reprodução Automática para oferecer seu aplicativo como uma opção quando os usuários compartilham arquivos entre dois computadores usando proximidade (encostar).You can also use AutoPlay to offer your app as an option when users share files between two PCs by using proximity (tapping).

Observação    Se você for um fabricante de dispositivo e quiser associar seu aplicativo de dispositivo Microsoft Store como um manipulador de reprodução automática para seu dispositivo, poderá identificar esse aplicativo nos metadados do dispositivo.Note  If you are a device manufacturer and you want to associate your Microsoft Store device app as an AutoPlay handler for your device, you can identify that app in the device metadata. Para obter mais informações, consulte Reprodução Automática para aplicativos de dispositivo da Microsoft Store.For more info, see AutoPlay for Microsoft Store device apps.

Registrar para conteúdo de Reprodução AutomáticaRegister for AutoPlay content

Você pode registrar aplicativos como opções de eventos de conteúdo de Reprodução Automática.You can register apps as options for AutoPlay content events. Os eventos de conteúdo da Reprodução Automática são gerados quando um dispositivo de volume, como um cartão de memória de câmera, um pen drive ou um DVD, for inserido no computador.AutoPlay content events are raised when a volume device such as a camera memory card, thumb drive, or DVD is inserted into the PC. Aqui, mostramos como identificar o aplicativo como uma opção de Reprodução Automática quando um dispositivo de volume de uma câmera for inserido.Here we show how to identify your app as an AutoPlay option when a volume device from a camera is inserted.

Neste tutorial, você criou um aplicativo que exibe arquivos de imagem ou os copia para Imagens.In this tutorial, you created an app that displays image files or copies them to Pictures. Você registrou o aplicativo para o evento de conteúdo ShowPicturesOnArrival da Reprodução Automática.You registered the app for the AutoPlay ShowPicturesOnArrival content event.

A Reprodução Automática também gera eventos de conteúdo para conteúdo compartilhado entre computadores usando proximidade (encostar).AutoPlay also raises content events for content shared between PCs using proximity (tapping). Você pode usar as etapas e o código que constam nesta seção para manipular os arquivos compartilhados entre computadores que usam a proximidade.You can use the steps and code in this section to handle files that are shared between PCs that use proximity. A tabela a seguir lista os eventos de conteúdo de Reprodução Automática que estão disponíveis para compartilhamento de conteúdo usando proximidade.The following table lists the AutoPlay content events that are available for sharing content by using proximity.

AçãoAction Evento de conteúdo do AutoPlayAutoPlay content event
Compartilhamento de músicaSharing music PlayMusicFilesOnArrivalPlayMusicFilesOnArrival
Compartilhamento de vídeosSharing videos PlayVideoFilesOnArrivalPlayVideoFilesOnArrival

  Quando arquivos são compartilhados usando proximidade, a propriedade Files do objeto FileActivatedEventArgs contém uma referência a uma pasta raiz que contém todos os arquivos compartilhados.When files are shared by using proximity, the Files property of the FileActivatedEventArgs object contains a reference to a root folder that contains all of the shared files.

Etapa 1: criar um novo projeto e adicionar declarações de Reprodução AutomáticaStep 1: Create a new project and add AutoPlay declarations

  1. Abra o Microsoft Visual Studio e selecione Novo Projeto no menu Arquivo.Open Microsoft Visual Studio and select New Project from the File menu. Na seção Visual C#, em Windows, selecione Aplicativo em Branco (Universal do Windows).In the Visual C# section, under Windows, select Blank App (Universal Windows). Nomeie o aplicativo AutoPlayDisplayOrCopyImages e clique em OK.Name the app AutoPlayDisplayOrCopyImages and click OK.
  2. Abra o arquivo Package.appxmanifest e selecione a guia Funcionalidades. Selecione as funcionalidades Armazenamento Removível e Biblioteca de Imagens.Open the Package.appxmanifest file and select the Capabilities tab. Select the Removable Storage and Pictures Library capabilities. Essa seleção lhe proporciona acesso de aplicativo aos dispositivos de armazenamento removível como memória de câmera e acesso às imagens locais.This gives the app access to removable storage devices for camera memory, and access to local pictures.
  3. No arquivo de manifesto, selecione a guia Declarações. Na lista suspensa Declarações Disponíveis, selecione Conteúdo de Reprodução Automática e clique em Adicionar.In the manifest file, select the Declarations tab. In the Available Declarations drop-down list, select AutoPlay Content and click Add. Selecione o novo item Conteúdo da Reprodução Automática que foi adicionado à lista Declarações Suportadas.Select the new AutoPlay Content item that was added to the Supported Declarations list.
  4. Uma declaração Conteúdo de Reprodução Automática identifica seu aplicativo como uma opção quando a Reprodução Automática gera um evento de conteúdo.An AutoPlay Content declaration identifies your app as an option when AutoPlay raises a content event. O evento é baseado no conteúdo de um dispositivo de volume como um DVD ou um pen drive.The event is based on the content of a volume device such as a DVD or a thumb drive. A Reprodução Automática examina o conteúdo do dispositivo de volume e determina qual evento de conteúdo gerar.AutoPlay examines the content of the volume device and determines which content event to raise. Se a raiz do volume contiver uma pasta DCIM, AVCHD ou \ ACHD privada ou se um usuário tiver habilitado escolher o que fazer com cada tipo de mídia no painel de controle de reprodução automática e as imagens forem encontradas na raiz do volume, a reprodução automática gerará o evento ShowPicturesOnArrival .If the root of the volume contains a DCIM, AVCHD, or PRIVATE\ACHD folder, or if a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel and pictures are found in the root of the volume, then AutoPlay raises the ShowPicturesOnArrival event. Na seção Ações de Inicialização, insira os valores da Tabela 1 abaixo para a primeira ação de inicialização.In the Launch Actions section, enter the values from Table 1 below for the first launch action.
  5. Na seção Ações de Inicialização do item Conteúdo de Reprodução Automática, clique em Adicionar Novo para adicionar a segunda ação de inicialização.In the Launch Actions section for the AutoPlay Content item, click Add New to add a second launch action. Insira os valores na Tabela 2 abaixo para a segunda ação de inicialização.Enter the values in Table 2 below for the second launch action.
  6. Na lista suspensa Declarações Disponíveis, selecione Associações de Tipo de Arquivo e clique em Adicionar.In the Available Declarations drop-down list, select File Type Associations and click Add. Nas propriedades da declaração novas associações de tipo de arquivo , defina o campo nome de exibição como copiar automaticamente ou mostrar imagens e o campo nome como imagem _ association1.In the Properties of the new File Type Associations declaration, set the Display Name field to AutoPlay Copy or Show Images and the Name field to image_association1. Na seção Tipos de Arquivo com Suporte, clique em Adicionar Novo.In the Supported File Types section, click Add New. Defina o campo Tipo de Arquivo como .jpg.Set the File Type field to .jpg. Na seção Tipos de Arquivo com Suporte, defina o campo Tipo de Arquivo da nova associação de arquivo como .png.In the Supported File Types section, set the File Type field of the new file association to .png. Para eventos de conteúdo, a Reprodução Automática não mostra os tipos de arquivo que não estejam explicitamente associados ao seu aplicativo.For content events, AutoPlay filters out any file types that are not explicitly associated with your app.
  7. Salve e feche o arquivo de manifesto.Save and close the manifest file.

Tabela 1Table 1

ConfiguraçãoSetting ValorValue
VerboVerb mostrarshow
Nome de Exibição da AçãoAction Display Name Show PicturesShow Pictures
Evento de ConteúdoContent Event ShowPicturesOnArrivalShowPicturesOnArrival

A configuração Nome de exibição da ação identifica a cadeia de caracteres que a Reprodução Automática exibe para seu aplicativo.The Action Display Name setting identifies the string that AutoPlay displays for your app. A configuração Verbo identifica um valor que é passado ao seu aplicativo para a opção selecionada.The Verb setting identifies a value that is passed to your app for the selected option. Você pode especificar várias ações de inicialização para um evento de reprodução automática e usar a configuração de verbo para determinar qual opção um usuário selecionou para seu aplicativo.You can specify multiple launch actions for an AutoPlay event and use the Verb setting to determine which option a user has selected for your app. Você pode informar qual opção o usuário selecionou verificando a propriedade Verb dos argumentos do evento Startup passados para seu aplicativo.You can tell which option the user selected by checking the verb property of the startup event arguments passed to your app. Você pode usar qualquer valor para a configuração de verbo , exceto, Open, que é reservado.You can use any value for the Verb setting except, open, which is reserved.

Tabela 2Table 2

ConfiguraçãoSetting ValorValue
VerboVerb copycopy
Nome de Exibição da AçãoAction Display Name Copy Pictures Into LibraryCopy Pictures Into Library
Evento de ConteúdoContent Event ShowPicturesOnArrivalShowPicturesOnArrival

Etapa 2: Adicionar interface do usuário XAMLStep 2: Add XAML UI

Abra o arquivo MainPage.xaml e adicione o seguinte XAML à seção <Grade> padrão.Open the MainPage.xaml file and add the following XAML to the default <Grid> section.

<TextBlock FontSize="18">File List</TextBlock>
<TextBlock x:Name="FilesBlock" HorizontalAlignment="Left" TextWrapping="Wrap"
           VerticalAlignment="Top" Margin="0,20,0,0" Height="280" Width="240" />
<Canvas x:Name="FilesCanvas" HorizontalAlignment="Left" VerticalAlignment="Top"
        Margin="260,20,0,0" Height="280" Width="100"/>

Etapa 3: Adicionar código de inicializaçãoStep 3: Add initialization code

O código nesta etapa verifica o valor do verbo na propriedade Verb, a qual é um dos argumentos de inicialização passados para o aplicativo durante o evento OnFileActivated.The code in this step checks the verb value in the Verb property, which is one of the startup arguments passed to the app during the OnFileActivated event. Em seguida, o código chama um método relacionado à opção selecionada pelo usuário.The code then calls a method related to the option that the user selected. Para o evento de memória da câmera, a Reprodução Automática passa a pasta raiz do armazenamento da câmera para o aplicativo.For the camera memory event, AutoPlay passes the root folder of the camera storage to the app. Você pode recuperar essa pasta no primeiro elemento da propriedade Files.You can retrieve this folder from the first element of the Files property.

Abra o arquivo App.xaml.cs e adicione o código a seguir à classe App.Open the App.xaml.cs file and add the following code to the App class.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
    if (args.Verb == "show")
    {
        Frame rootFrame = (Frame)Window.Current.Content;
        MainPage page = (MainPage)rootFrame.Content;

        // Call DisplayImages with root folder from camera storage.
        page.DisplayImages((Windows.Storage.StorageFolder)args.Files[0]);
    }

    if (args.Verb == "copy")
    {
        Frame rootFrame = (Frame)Window.Current.Content;
        MainPage page = (MainPage)rootFrame.Content;

        // Call CopyImages with root folder from camera storage.
        page.CopyImages((Windows.Storage.StorageFolder)args.Files[0]);
    }

    base.OnFileActivated(args);
}

Observação    Os DisplayImages CopyImages métodos e são adicionados nas etapas a seguir.Note  The DisplayImages and CopyImages methods are added in the following steps.

Etapa 4: Adicionar código para exibir imagensStep 4: Add code to display images

No arquivo MainPage.xaml.cs, adicione o código a seguir à classe MainPage .In the MainPage.xaml.cs file add the following code to the MainPage class.

async internal void DisplayImages(Windows.Storage.StorageFolder rootFolder)
{
    // Display images from first folder in root\DCIM.
    var dcimFolder = await rootFolder.GetFolderAsync("DCIM");
    var folderList = await dcimFolder.GetFoldersAsync();
    var cameraFolder = folderList[0];
    var fileList = await cameraFolder.GetFilesAsync();
    for (int i = 0; i < fileList.Count; i++)
    {
        var file = (Windows.Storage.StorageFile)fileList[i];
        WriteMessageText(file.Name + "\n");
        DisplayImage(file, i);
    }
}

async private void DisplayImage(Windows.Storage.IStorageItem file, int index)
{
    try
    {
        var sFile = (Windows.Storage.StorageFile)file;
        Windows.Storage.Streams.IRandomAccessStream imageStream =
            await sFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
        Windows.UI.Xaml.Media.Imaging.BitmapImage imageBitmap =
            new Windows.UI.Xaml.Media.Imaging.BitmapImage();
        imageBitmap.SetSource(imageStream);
        var element = new Image();
        element.Source = imageBitmap;
        element.Height = 100;
        Thickness margin = new Thickness();
        margin.Top = index * 100;
        element.Margin = margin;
        FilesCanvas.Children.Add(element);
    }
    catch (Exception e)
    {
       WriteMessageText(e.Message + "\n");
    }
}

// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;

private async void WriteMessageText(string message, bool overwrite = false)
{
    await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            if (overwrite)
                FilesBlock.Text = message;
            else
                FilesBlock.Text += message;
        });
}

Etapa 5: Adicionar código para copiar imagensStep 5: Add code to copy images

No arquivo MainPage.xaml.cs, adicione o código a seguir à classe MainPage .In the MainPage.xaml.cs file add the following code to the MainPage class.

async internal void CopyImages(Windows.Storage.StorageFolder rootFolder)
{
    // Copy images from first folder in root\DCIM.
    var dcimFolder = await rootFolder.GetFolderAsync("DCIM");
    var folderList = await dcimFolder.GetFoldersAsync();
    var cameraFolder = folderList[0];
    var fileList = await cameraFolder.GetFilesAsync();

    try
    {
        var folderName = "Images " + DateTime.Now.ToString("yyyy-MM-dd HHmmss");
        Windows.Storage.StorageFolder imageFolder = await
            Windows.Storage.KnownFolders.PicturesLibrary.CreateFolderAsync(folderName);

        foreach (Windows.Storage.IStorageItem file in fileList)
        {
            CopyImage(file, imageFolder);
        }
    }
    catch (Exception e)
    {
        WriteMessageText("Failed to copy images.\n" + e.Message + "\n");
    }
}

async internal void CopyImage(Windows.Storage.IStorageItem file,
                              Windows.Storage.StorageFolder imageFolder)
{
    try
    {
        Windows.Storage.StorageFile sFile = (Windows.Storage.StorageFile)file;
        await sFile.CopyAsync(imageFolder, sFile.Name);
        WriteMessageText(sFile.Name + " copied.\n");
    }
    catch (Exception e)
    {
        WriteMessageText("Failed to copy file.\n" + e.Message + "\n");
    }
}

Etapa 6: Compilar e executar o aplicativoStep 6: Build and run the app

  1. Pressione F5 para compilar e implantar o aplicativo (no modo de depuração).Press F5 to build and deploy the app (in debug mode).
  2. Para executar o aplicativo, insira um cartão de memória de câmera ou outro dispositivo de armazenamento de uma câmera no computador.To run your app, insert a camera memory card or another storage device from a camera into your PC. Em seguida, selecione uma das opções de evento de conteúdo que você especificou no arquivo package.appxmanifest na lista de opções de Reprodução Automática.Then, select one of the content event options that you specified in your package.appxmanifest file from the AutoPlay list of options. Este código de exemplo apenas exibe ou copia imagens na pasta DCIM de um cartão de memória de câmera.This sample code only displays or copies pictures in the DCIM folder of a camera memory card. Se o cartão de memória da câmera armazenar imagens em uma pasta AVCHD ou \ ACHD privada, você precisará atualizar o código adequadamente.If your camera memory card stores pictures in an AVCHD or PRIVATE\ACHD folder, you will need to update the code accordingly. Observação    Se você não tiver um cartão de memória da câmera, poderá usar uma unidade flash se ela tiver uma pasta chamada DCIM na raiz e se a pasta DCIM tiver uma subpasta que contenha imagens.Note  If you don't have a camera memory card, you can use a flash drive if it has a folder named DCIM in the root and if the DCIM folder has a subfolder that contains images.

Registrar para um dispositivo de Reprodução AutomáticaRegister for an AutoPlay device

Você pode registrar aplicativos como opções de eventos de dispositivo de Reprodução Automática.You can register apps as options for AutoPlay device events. Os eventos de dispositivo de Reprodução Automática são gerados quando um dispositivo é conectado a um computador.AutoPlay device events are raised when a device is connected to a PC.

Nesta seção, mostramos como identificar seu aplicativo como uma opção Reprodução Automática quando uma câmera é conectada a um computador.Here we show how to identify your app as an AutoPlay option when a camera is connected to a PC. O aplicativo é registrado como um manipulador para o evento ** \ ImageSourceAutoPlay WPD** .The app registers as a handler for the WPD\ImageSourceAutoPlay event. Esse é um evento comum que o sistema Dispositivo Portátil do Windows (WPD) gera quando câmeras e outros dispositivos de imagem o notifica que são uma ImageSource usando MTP.This is a common event that the Windows Portable Device (WPD) system raises when cameras and other imaging devices notify it that they are an ImageSource using MTP. Para saber mais, consulte Dispositivos portáteis do Windows.For more info, see Windows Portable Devices.

Importante    As APIs Windows. Devices. Portable. StorageDevice fazem parte da família de dispositivos de desktop.Important  The Windows.Devices.Portable.StorageDevice APIs are part of the desktop device family. Os aplicativos podem usar essas APIs somente em dispositivos com Windows 10 na família de dispositivos da área de trabalho, como computadores.Apps can use these APIs only on Windows 10 devices in the desktop device family, such as PCs.

 

Etapa 1: criar um novo projeto e adicionar declarações de Reprodução AutomáticaStep 1: Create a new project and add AutoPlay declarations

  1. Abra o Visual Studio e selecione Novo Projeto no menu Arquivo.Open Visual Studio and select New Project from the File menu. Na seção Visual C#, em Windows, selecione Aplicativo em Branco (Universal do Windows).In the Visual C# section, under Windows, select Blank App (Universal Windows). Nomeie o aplicativo AutoPlayDevice _ Camera e clique em OK.Name the app AutoPlayDevice_Camera and click OK.
  2. Abra o arquivo Package.appxmanifest e selecione a guia Funcionalidades. Selecione a funcionalidade Armazenamento Removível.Open the Package.appxmanifest file and select the Capabilities tab. Select the Removable Storage capability. Isso dá ao aplicativo acesso aos dados na câmera como um dispositivo de volume de armazenamento removível.This gives the app access to the data on the camera as a removable storage volume device.
  3. No arquivo de manifesto, selecione a guia Declarações. Na lista suspensa Declarações Disponíveis, selecione Dispositivo de Reprodução Automática e clique em Adicionar.In the manifest file, select the Declarations tab. In the Available Declarations drop-down list, select AutoPlay Device and click Add. Selecione o novo item Dispositivo de Reprodução Automática que foi adicionado à lista Declarações com Suporte.Select the new AutoPlay Device item that was added to the Supported Declarations list.
  4. Uma declaração Dispositivo de Reprodução Automática identifica o aplicativo como uma opção quando a Reprodução Automática gera um evento de dispositivo para eventos conhecidos.An AutoPlay Device declaration identifies your app as an option when AutoPlay raises a device event for known events. Na seção Ações de Inicialização, insira os valores na tabela abaixo para a primeira ação de inicialização.In the Launch Actions section, enter the values in the table below for the first launch action.
  5. Na lista suspensa Declarações Disponíveis, selecione Associações de Tipo de Arquivo e clique em Adicionar.In the Available Declarations drop-down list, select File Type Associations and click Add. Nas propriedades da declaração novas associações de tipo de arquivo , defina o campo nome de exibição para mostrar imagens da câmera e o campo nome como câmera _ association1.In the Properties of the new File Type Associations declaration, set the Display Name field to Show Images from Camera and the Name field to camera_association1. Na seção Tipos de Arquivo com Suporte, clique em Adicionar Novo, se necessário.In the Supported File Types section, click Add New (if needed). Defina o campo Tipo de Arquivo como .jpg.Set the File Type field to .jpg. Na seção Tipos de Arquivo com Suporte, clique novamente em Adicionar Novo.In the Supported File Types section, click Add New again. Defina o campo Tipo de Arquivo da nova associação de arquivo como .png.Set the File Type field of the new file association to .png. Para eventos de conteúdo, a Reprodução Automática não mostra os tipos de arquivo que não estejam explicitamente associados ao seu aplicativo.For content events, AutoPlay filters out any file types that are not explicitly associated with your app.
  6. Salve e feche o arquivo de manifesto.Save and close the manifest file.
ConfiguraçãoSetting ValorValue
VerboVerb mostrarshow
Nome de Exibição da AçãoAction Display Name Show PicturesShow Pictures
Evento de ConteúdoContent Event \IMAGESOURCE WPDWPD\ImageSource

A configuração Nome de exibição da ação identifica a cadeia de caracteres que a Reprodução Automática exibe para seu aplicativo.The Action Display Name setting identifies the string that AutoPlay displays for your app. A configuração Verbo identifica um valor que é passado ao seu aplicativo para a opção selecionada.The Verb setting identifies a value that is passed to your app for the selected option. Você pode especificar várias ações de inicialização para um evento de reprodução automática e usar a configuração de verbo para determinar qual opção um usuário selecionou para seu aplicativo.You can specify multiple launch actions for an AutoPlay event and use the Verb setting to determine which option a user has selected for your app. Você pode informar qual opção o usuário selecionou verificando a propriedade Verb dos argumentos do evento Startup passados para seu aplicativo.You can tell which option the user selected by checking the verb property of the startup event arguments passed to your app. Você pode usar qualquer valor para a configuração de verbo , exceto, Open, que é reservado.You can use any value for the Verb setting except, open, which is reserved. Para ver um exemplo do uso de vários verbos em um único aplicativo, consulte Registrar-se para conteúdo de reprodução automática.For an example of using multiple verbs in a single app, see Register for AutoPlay content.

Etapa 2: Adicionar referência de assembly para as extensões de área de trabalhoStep 2: Add assembly reference for the desktop extensions

As APIs necessárias para acessar o armazenamento em um Dispositivo Portátil do Windows, Windows.Devices.Portable.StorageDevice, fazem parte da família de dispositivos da área de trabalho.The APIs required to access storage on a Windows Portable Device, Windows.Devices.Portable.StorageDevice, are part of the desktop desktop device family. Isso significa que um assembly especial é necessário para usar as APIs e essas chamadas funcionarão somente em um dispositivo na família de dispositivos da área de trabalho (como um computador).This means a special assembly is required to use the APIs and those calls will only work on a device in the desktop device family (such as a PC).

  1. No Gerenciador de Soluções, clique com o botão direito do mouse em Referências em Adicionar Referência....In Solution Explorer, right click on References and then Add Reference....
  2. Expanda Universal do Windows e clique em Extensões.Expand Universal Windows and click Extensions.
  3. Em seguida, selecione Extensões de Área de Trabalho do Windows para a UWP e clique em OK.Then select Windows Desktop Extensions for the UWP and click OK.

Etapa 3: Adicionar interface do usuário XAMLStep 3: Add XAML UI

Abra o arquivo MainPage.xaml e adicione o seguinte XAML à seção <Grade> padrão.Open the MainPage.xaml file and add the following XAML to the default <Grid> section.

<StackPanel Orientation="Vertical" Margin="10,0,-10,0">
    <TextBlock FontSize="24">Device Information</TextBlock>
    <StackPanel Orientation="Horizontal">
        <TextBlock x:Name="DeviceInfoTextBlock" FontSize="18" Height="400" Width="400" VerticalAlignment="Top" />
        <ListView x:Name="ImagesList" HorizontalAlignment="Left" Height="400" VerticalAlignment="Top" Width="400">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Vertical">
                        <Image Source="{Binding Path=Source}" />
                        <TextBlock Text="{Binding Path=Name}" />
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapGrid Orientation="Horizontal" ItemHeight="100" ItemWidth="120"></WrapGrid>
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        </ListView>
    </StackPanel>
</StackPanel>

Etapa 4: Adicionar código de ativaçãoStep 4: Add activation code

O código nesta etapa referencia a câmera como um StorageDevice passando a ID de informações de dispositivo da câmera para o método FromId.The code in this step references the camera as a StorageDevice by passing the device information Id of the camera to the FromId method. A ID de informações de dispositivo da câmera é obtida primeiro pela transmissão dos argumentos de evento, como DeviceActivatedEventArgs, e em seguida obtendo o valor da propriedade DeviceInformationId.The device information Id of the camera is obtained by first casting the event arguments as DeviceActivatedEventArgs, and then getting the value from the DeviceInformationId property.

Abra o arquivo App.xaml.cs e adicione o código a seguir à classe App.Open the App.xaml.cs file and add the following code to the App class.

protected override void OnActivated(IActivatedEventArgs args)
{
   if (args.Kind == ActivationKind.Device)
   {
      Frame rootFrame = null;
      // Ensure that the current page exists and is activated
      if (Window.Current.Content == null)
      {
         rootFrame = new Frame();
         rootFrame.Navigate(typeof(MainPage));
         Window.Current.Content = rootFrame;
      }
      else
      {
         rootFrame = Window.Current.Content as Frame;
      }
      Window.Current.Activate();

      // Make sure the necessary APIs are present on the device
      bool storageDeviceAPIPresent =
      Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Devices.Portable.StorageDevice");

      if (storageDeviceAPIPresent)
      {
         // Reference the current page as type MainPage
         var mPage = rootFrame.Content as MainPage;

         // Cast the activated event args as DeviceActivatedEventArgs and show images
         var deviceArgs = args as DeviceActivatedEventArgs;
         if (deviceArgs != null)
         {
            mPage.ShowImages(Windows.Devices.Portable.StorageDevice.FromId(deviceArgs.DeviceInformationId));
         }
      }
      else
      {
         // Handle case where APIs are not present (when the device is not part of the desktop device family)
      }

   }

   base.OnActivated(args);
}

Observação    O ShowImages método é adicionado na etapa a seguir.Note  The ShowImages method is added in the following step.

Etapa 5: Adicionar código para exibir informações de dispositivoStep 5: Add code to display device information

Você pode obter informações sobre a câmera nas propriedades da classe StorageDevice.You can obtain information about the camera from the properties of the StorageDevice class. O código nesta etapa exibe o nome do dispositivo e outras informações para o usuário quando o aplicativo é executado.The code in this step displays the device name and other info to the user when the app runs. Em seguida, o código chama os métodos GetImageList e GetThumbnail, que você vai adicionar na próxima etapa, para exibir miniaturas das imagens armazenadas na câmera.The code then calls the GetImageList and GetThumbnail methods, which you will add in the next step, to display thumbnails of the images stored on the camera

No arquivo MainPage.xaml.cs, adicione o código a seguir à classe MainPage.In the MainPage.xaml.cs file, add the following code to the MainPage class.

private Windows.Storage.StorageFolder rootFolder;

internal async void ShowImages(Windows.Storage.StorageFolder folder)
{
    DeviceInfoTextBlock.Text = "Display Name = " + folder.DisplayName + "\n";
    DeviceInfoTextBlock.Text += "Display Type =  " + folder.DisplayType + "\n";
    DeviceInfoTextBlock.Text += "FolderRelativeId = " + folder.FolderRelativeId + "\n";

    // Reference first folder of the device as the root
    rootFolder = (await folder.GetFoldersAsync())[0];
    var imageList = await GetImageList(rootFolder);

    foreach (Windows.Storage.StorageFile img in imageList)
    {
        ImagesList.Items.Add(await GetThumbnail(img));
    }
}

Observação    Os GetImageList GetThumbnail métodos e são adicionados na etapa a seguir.Note  The GetImageList and GetThumbnail methods are added in the following step.

Etapa 6: Adicionar código para exibir imagensStep 6: Add code to display images

O código nesta etapa exibe miniaturas das imagens armazenadas na câmera.The code in this step displays thumbnails of the images stored on the camera. O código faz chamadas assíncronas para a câmera para obter a imagem em miniatura.The code makes asynchronous calls to the camera to get the thumbnail image. Entretanto, a próxima chamada assíncrona só ocorre depois que a chamada assíncrona anterior é concluída.However, the next asynchronous call doesn't occur until the previous asynchronous call completes. Isso garante que apenas uma solicitação seja feita à câmera de cada vez.This ensures that only one request is made to the camera at a time.

No arquivo MainPage.xaml.cs, adicione o código a seguir à classe MainPage.In the MainPage.xaml.cs file, add the following code to the MainPage class.

async private System.Threading.Tasks.Task<List<Windows.Storage.StorageFile>> GetImageList(Windows.Storage.StorageFolder folder)
{
    var result = await folder.GetFilesAsync();
    var subFolders = await folder.GetFoldersAsync();
    foreach (Windows.Storage.StorageFolder f in subFolders)
        result = result.Union(await GetImageList(f)).ToList();

    return (from f in result orderby f.Name select f).ToList();
}

async private System.Threading.Tasks.Task<Image> GetThumbnail(Windows.Storage.StorageFile img)
{
    // Get the thumbnail to display
    var thumbnail = await img.GetThumbnailAsync(Windows.Storage.FileProperties.ThumbnailMode.SingleItem,
                                                100,
                                                Windows.Storage.FileProperties.ThumbnailOptions.UseCurrentScale);

    // Create a XAML Image object bind to on the display page
    var result = new Image();
    result.Height = thumbnail.OriginalHeight;
    result.Width = thumbnail.OriginalWidth;
    result.Name = img.Name;
    var imageBitmap = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
    imageBitmap.SetSource(thumbnail);
    result.Source = imageBitmap;

    return result;
}

Etapa 7: Compilar e executar o aplicativoStep 7: Build and run the app

  1. Pressione F5 para compilar e implantar o aplicativo (no modo de depuração).Press F5 to build and deploy the app (in debug mode).
  2. Para executar o aplicativo, conecte uma câmera ao seu computador.To run your app, connect a camera to your machine. Em seguida, selecione o aplicativo na lista de opções da Reprodução Automática.Then select the app from the AutoPlay list of options. Observação    Nem todas as câmeras são anunciadas para o evento de dispositivo de reprodução automática ** \ ImageSource WPD** .Note  Not all cameras advertise for the WPD\ImageSource AutoPlay device event.

Configurar o armazenamento removívelConfigure removable storage

Você pode identificar um dispositivo de volume, como um cartão de memória ou um pen drive, como um dispositivo de Reprodução Automática quando o dispositivo de volume é conectado a um computador.You can identify a volume device such as a memory card or thumb drive as an AutoPlay device when the volume device is connected to a PC. Isso é especialmente útil quando você quer associar um aplicativo específico para Reprodução Automática para apresentar ao usuário do seu dispositivo de volume.This is especially useful when you want to associate a specific app for AutoPlay to present to the user for your volume device.

Este exemplo mostra como identificar seu dispositivo de volume como um dispositivo de Reprodução Automática.Here we show how to identify your volume device as an AutoPlay device.

Para identificar seu dispositivo de volume como um dispositivo de Reprodução Automática, adicione um arquivo autorun.inf à unidade raiz do dispositivo.To identify your volume device as an AutoPlay device, add an autorun.inf file to the root drive of your device. No arquivo autorun.inf, adicione uma chave CustomEvent à seção AutoRun.In the autorun.inf file, add a CustomEvent key to the AutoRun section. Quando o dispositivo de volume se conectar a um computador, a Reprodução Automática encontrará o arquivo autorun.inf e tratará o volume como um dispositivo.When your volume device connects to a PC, AutoPlay will find the autorun.inf file and treat your volume as a device. A Reprodução Automática criará um evento de Reprodução Automática usando o nome que você forneceu na chave CustomEvent.AutoPlay will create an AutoPlay event by using the name that you supplied for the CustomEvent key. Em seguida, você pode criar um aplicativo e registrá-lo como manipulador desse evento de Reprodução Automática.You can then create an app and register the app as a handler for that AutoPlay event. Quando o dispositivo se conectar ao computador, a Reprodução Automática mostrar o aplicativo como manipulador do dispositivo de volume.When the device is connected to the PC, AutoPlay will show your app as a handler for your volume device. Para obter mais informações sobre arquivos autorun.inf, consulte entradas de autorun.inf.For more info on autorun.inf files, see autorun.inf entries.

Etapa 1: Criar um arquivo autorun.infStep 1: Create an autorun.inf file

Na unidade raiz do dispositivo de volume, adicione um arquivo chamado autorun.inf.In the root drive of your volume device, add a file named autorun.inf. Abra o arquivo autorun.inf e adicione o texto a seguir.Open the autorun.inf file and add the following text.

[AutoRun]
CustomEvent=AutoPlayCustomEventQuickstart

Etapa 2: Criar um novo projeto e criar declarações de Reprodução AutomáticaStep 2: Create a new project and add AutoPlay declarations

  1. Abra o Visual Studio e selecione Novo Projeto no menu Arquivo.Open Visual Studio and select New Project from the File menu. Na seção Visual C#, em Windows, selecione Aplicativo em Branco (Universal do Windows).In the Visual C# section, under Windows, select Blank App (Universal Windows). Nomeie o aplicativo AutoPlayCustomEvent e clique em OK.Name the application AutoPlayCustomEvent and click OK.

  2. Abra o arquivo Package.appxmanifest e selecione a guia Funcionalidades. Selecione a funcionalidade Armazenamento Removível.Open the Package.appxmanifest file and select the Capabilities tab. Select the Removable Storage capability. Isso dá ao aplicativo acesso aos arquivos e pastas em dispositivos de armazenamento removíveis.This gives the app access to the files and folders on removable storage devices.

  3. No arquivo de manifesto, selecione a guia Declarações. Na lista suspensa Declarações Disponíveis, selecione Conteúdo de Reprodução Automática e clique em Adicionar.In the manifest file, select the Declarations tab. In the Available Declarations drop-down list, select AutoPlay Content and click Add. Selecione o novo item Conteúdo da Reprodução Automática que foi adicionado à lista Declarações Suportadas.Select the new AutoPlay Content item that was added to the Supported Declarations list.

    Observação    Como alternativa, você também pode optar por adicionar uma declaração de dispositivo de reprodução automática para seu evento de reprodução automática personalizada.Note  Alternatively, you can also choose to add an AutoPlay Device declaration for your custom AutoPlay event.  

  4. Na seção Ações de Inicialização para a declaração de evento Conteúdo de Reprodução Automática, insira os valores da tabela abaixo na primeira ação de inicialização.In the Launch Actions section for your AutoPlay Content event declaration, enter the values in the table below for the first launch action.

  5. Na lista suspensa Declarações Disponíveis, selecione Associações de Tipo de Arquivo e clique em Adicionar.In the Available Declarations drop-down list, select File Type Associations and click Add. Nas propriedades da declaração novas associações de tipo de arquivo , defina o campo nome de exibição para mostrar. ms files e o campo nome como MS _ Association.In the Properties of the new File Type Associations declaration, set the Display Name field to Show .ms Files and the Name field to ms_association. Na seção Tipos de Arquivo com Suporte, clique em Adicionar Novo.In the Supported File Types section, click Add New. Defina o campo Tipo de Arquivo como .ms.Set the File Type field to .ms. Para eventos de conteúdo, a Reprodução Automática não mostra os tipos de arquivo que não estejam explicitamente associados ao seu aplicativo.For content events, AutoPlay filters out any file types that aren't explicitly associated with your app.

  6. Salve e feche o arquivo de manifesto.Save and close the manifest file.

ConfiguraçãoSetting ValorValue
VerboVerb mostrarshow
Nome de Exibição da AçãoAction Display Name Show FilesShow Files
Evento de ConteúdoContent Event AutoPlayCustomEventQuickstartAutoPlayCustomEventQuickstart

O valor Evento de Conteúdo é o texto que você forneceu para a chave CustomEvent no arquivo autorun.inf.The Content Event value is the text that you supplied for the CustomEvent key in your autorun.inf file. A configuração Nome de exibição da ação identifica a cadeia de caracteres que a Reprodução Automática exibe para seu aplicativo.The Action Display Name setting identifies the string that AutoPlay displays for your app. A configuração Verbo identifica um valor que é passado ao seu aplicativo para a opção selecionada.The Verb setting identifies a value that is passed to your app for the selected option. Você pode especificar várias ações de inicialização para um evento de reprodução automática e usar a configuração de verbo para determinar qual opção um usuário selecionou para seu aplicativo.You can specify multiple launch actions for an AutoPlay event and use the Verb setting to determine which option a user has selected for your app. Você pode informar qual opção o usuário selecionou verificando a propriedade Verb dos argumentos do evento Startup passados para seu aplicativo.You can tell which option the user selected by checking the verb property of the startup event arguments passed to your app. Você pode usar qualquer valor para a configuração de verbo , exceto, Open, que é reservado.You can use any value for the Verb setting except, open, which is reserved.

Etapa 3: Adicionar interface do usuário XAMLStep 3: Add XAML UI

Abra o arquivo MainPage.xaml e adicione o seguinte XAML à seção <Grade> padrão.Open the MainPage.xaml file and add the following XAML to the default <Grid> section.

<StackPanel Orientation="Vertical">
    <TextBlock FontSize="28" Margin="10,0,800,0">Files</TextBlock>
    <TextBlock x:Name="FilesBlock" FontSize="22" Height="600" Margin="10,0,800,0" />
</StackPanel>

Etapa 4: Adicionar código de ativaçãoStep 4: Add activation code

O código nesta etapa chama um método para exibir as pastas na unidade raiz do dispositivo de volume.The code in this step calls a method to display the folders in the root drive of your volume device. Para eventos de conteúdo de Reprodução Automática, a Reprodução Automática passa a pasta raiz do dispositivo de armazenamento nos argumentos de inicialização passados para o aplicativo durante o evento OnFileActivated.For the AutoPlay content events, AutoPlay passes the root folder of the storage device in the startup arguments passed to the application during the OnFileActivated event. Você pode recuperar essa pasta no primeiro elemento da propriedade Files.You can retrieve this folder from the first element of the Files property.

Abra o arquivo App.xaml.cs e adicione o código a seguir à classe App.Open the App.xaml.cs file and add the following code to the App class.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
    var rootFrame = Window.Current.Content as Frame;
    var page = rootFrame.Content as MainPage;

    // Call ShowFolders with root folder from device storage.
    page.DisplayFiles(args.Files[0] as Windows.Storage.StorageFolder);

    base.OnFileActivated(args);
}

Observação    O DisplayFiles método é adicionado na etapa a seguir.Note  The DisplayFiles method is added in the following step.

 

Etapa 5: Adicionar código para exibir pastasStep 5: Add code to display folders

No arquivo MainPage.xaml.cs, adicione o código a seguir à classe MainPage .In the MainPage.xaml.cs file add the following code to the MainPage class.

internal async void DisplayFiles(Windows.Storage.StorageFolder folder)
{
    foreach (Windows.Storage.StorageFile f in await ReadFiles(folder, ".ms"))
    {
        FilesBlock.Text += "  " + f.Name + "\n";
    }
}

internal async System.Threading.Tasks.Task<IReadOnlyList<Windows.Storage.StorageFile>>
    ReadFiles(Windows.Storage.StorageFolder folder, string fileExtension)
{
    var options = new Windows.Storage.Search.QueryOptions();
    options.FileTypeFilter.Add(fileExtension);
    var query = folder.CreateFileQueryWithOptions(options);
    var files = await query.GetFilesAsync();

    return files;
}

Etapa 6: Compilar e executar o aplicativoStep 6: Build and run the qpp

  1. Pressione F5 para compilar e implantar o aplicativo (no modo de depuração).Press F5 to build and deploy the app (in debug mode).
  2. Para executar seu aplicativo, insira um cartão de memória ou outro dispositivo de armazenamento em seu computador.To run your app, insert a memory card or another storage device into your PC. Em seguida, selecione seu aplicativo na lista de opções do manipulador de Reprodução Automática.Then select your app from the list of AutoPlay handler options.

Referência de eventos de Reprodução AutomáticaAutoPlay event reference

O sistema de Reprodução Automática permite que os aplicativos se registrem para uma ampla variedade de eventos de chegada de dispositivo e volume (disco).The AutoPlay system allows apps to register for a variety of device and volume (disk) arrival events. Para registrar eventos de conteúdo da Reprodução Automática, é necessário habilitar o recurso Armazenamento removível no manifesto do seu pacote.To register for AutoPlay content events, you must enable the Removable Storage capability in your package manifest. Esta tabela mostra os eventos para os quais você pode se registrar e quando eles são gerados.This table shows the events that you can register for and when they are raised.

CenárioScenario EventoEvent DescriçãoDescription
Usando fotos em uma CâmeraUsing photos on a Camera WPD\ImageSourceWPD\ImageSource Gerado para câmeras que são identificadas como dispositivos portáteis do Windows e que oferecem o recursos ImageSource.Raised for cameras that are identified as Windows Portable Devices and offer the ImageSource capability.
Usando música em um player de áudioUsing music on an audio player WPD\AudioSourceWPD\AudioSource Gerado para media players que são identificados como dispositivos portáteis do Windows e que oferecem o recurso AudioSource.Raised for media players that are identified as Windows Portable Devices and offer the AudioSource capability.
Usando vídeos em uma câmera de vídeoUsing videos on a video camera WPD\VideoSourceWPD\VideoSource Gerado para câmeras de vídeo que são identificadas como dispositivos portáteis do Windows e que oferecem o recursos VideoSource.Raised for video cameras that are identified as Windows Portable Devices and offer the VideoSource capability.
Acessar uma unidade flash ou um disco rígido externo conectadoAccess a connected flash drive or external hard drive StorageOnArrivalStorageOnArrival Gerado quando uma unidade ou um volume é conectado ao computador.Raised when a drive or volume is connected to the PC. Se a unidade ou o volume contiver uma pasta DCIM, AVCHD ou PRIVATE\ACHD na raiz do disco, será gerado o evento ShowPicturesOnArrival.If the drive or volume contains a DCIM, AVCHD, or PRIVATE\ACHD folder in the root of the disk, the ShowPicturesOnArrival event is raised instead.
Usando fotos de armazenamento em massa (herdado)Using photos from mass storage (legacy) ShowPicturesOnArrivalShowPicturesOnArrival Gerado quando uma unidade ou um volume contém uma pasta DCIM, AVCHD ou PRIVATE\ACHD na raiz do disco.Raised when a drive or volume contains a DCIM, AVCHD, or PRIVATE\ACHD folder in the root of the disk. Se um usuário tiver habilitado Escolha o que fazer com cada tipo de mídia no Painel de Controle de Reprodução Automática, a Reprodução Automática examinará um volume conectado ao computador para determinar o tipo de conteúdo no disco.IIf a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Quando são encontradas imagens, é gerado ShowPicturesOnArrival.When pictures are found, ShowPicturesOnArrival is raised.
Recebendo fotos com Compartilhamento de Proximidade (encostar e enviar)Receiving photos with Proximity Sharing (tap and send) ShowPicturesOnArrivalShowPicturesOnArrival Quando usuários enviam conteúdo usando proximidade (encostar e enviar), a Reprodução Automática examina os arquivos compartilhados para determinar o tipo de conteúdo.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se forem encontradas imagens, será gerado ShowPicturesOnArrival.If pictures are found, ShowPicturesOnArrival is raised.
Usando música de armazenamento em massa (herdado)Using music from mass storage (legacy) PlayMusicFilesOnArrivalPlayMusicFilesOnArrival Se um usuário tiver habilitado escolher o que fazer com cada tipo de mídia no painel de controle de reprodução automática, a reprodução automática examinará um volume conectado ao PC para determinar o tipo de conteúdo no disco.If a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Quando são encontrados arquivos de música, é gerado PlayMusicFilesOnArrival.When music files are found, PlayMusicFilesOnArrival is raised.
Recebendo música com Compartilhamento de Proximidade (encostar e enviar)Receiving music with Proximity Sharing (tap and send) PlayMusicFilesOnArrivalPlayMusicFilesOnArrival Quando usuários enviam conteúdo usando proximidade (encostar e enviar), a Reprodução Automática examina os arquivos compartilhados para determinar o tipo de conteúdo.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se são encontrados arquivos de música, é gerado PlayMusicFilesOnArrival.If music files are found, PlayMusicFilesOnArrival is raised.
Usando vídeos de armazenamento em massa (herdado)Using videos from mass storage (legacy) PlayVideoFilesOnArrivalPlayVideoFilesOnArrival Se um usuário tiver habilitado escolher o que fazer com cada tipo de mídia no painel de controle de reprodução automática, a reprodução automática examinará um volume conectado ao PC para determinar o tipo de conteúdo no disco.If a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Quando são encontrados arquivos de vídeo, é gerado PlayVideoFilesOnArrival.When video files are found, PlayVideoFilesOnArrival is raised.
Recebendo vídeos com Compartilhamento de Proximidade (encostar e enviar)Receiving videos with Proximity Sharing (tap and send) PlayVideoFilesOnArrivalPlayVideoFilesOnArrival Quando usuários enviam conteúdo usando proximidade (encostar e enviar), a Reprodução Automática examina os arquivos compartilhados para determinar o tipo de conteúdo.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se são encontrados arquivos de vídeo, é gerado PlayVideoFilesOnArrival.If video files are found, PlayVideoFilesOnArrival is raised.
Manipulando conjuntos mistos de arquivos de um dispositivo conectadoHandling mixed sets of files from a connected device MixedContentOnArrivalMixedContentOnArrival Se um usuário tiver habilitado escolher o que fazer com cada tipo de mídia no painel de controle de reprodução automática, a reprodução automática examinará um volume conectado ao PC para determinar o tipo de conteúdo no disco.If a user has enabled Choose what to do with each type of media in the AutoPlay Control Panel, AutoPlay will examine a volume connected to the PC to determine the type of content on the disk. Se nenhum tipo de conteúdo específico é encontrado (por exemplo, imagens), é gerado MixedContentOnArrival.If no specific content type is found (for example, pictures), MixedContentOnArrival is raised.
Manipulando conjuntos mistos de arquivos com Compartilhamento de Proximidade (encostar e enviar)Handling mixed sets of files with Proximity Sharing (tap and send) MixedContentOnArrivalMixedContentOnArrival Quando usuários enviam conteúdo usando proximidade (encostar e enviar), a Reprodução Automática examina os arquivos compartilhados para determinar o tipo de conteúdo.When users send content with using proximity (tap and send), AutoPlay will examine the shared files to determine the type of content. Se nenhum tipo de conteúdo específico é encontrado (por exemplo, imagens), é gerado MixedContentOnArrival.If no specific content type is found (for example, pictures), MixedContentOnArrival is raised.
Manipular vídeo de mídia ópticaHandle video from optical media PlayDVDMovieOnArrivalPlayDVDMovieOnArrival
PlayBluRayOnArrivalPlayBluRayOnArrival
PlayVideoCDMovieOnArrivalPlayVideoCDMovieOnArrival
PlaySuperVideoCDMovieOnArrivalPlaySuperVideoCDMovieOnArrival
Quando um disco é inserido na unidade óptica, a Reprodução Automática examina os arquivos para determinar o tipo de conteúdo.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando são encontrados arquivos de vídeo, o evento correspondente ao tipo de disco óptico é acionado.When video files are found, the event corresponding to the type of optical disk is raised.
Manipular música de mídia ópticaHandle music from optical media PlayCDAudioOnArrivalPlayCDAudioOnArrival
PlayDVDAudioOnArrivalPlayDVDAudioOnArrival
Quando um disco é inserido na unidade óptica, a Reprodução Automática examina os arquivos para determinar o tipo de conteúdo.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando são encontrados arquivos de música, o evento correspondente ao tipo de disco óptico é acionado.When music files are found, the event corresponding to the type of optical disk is raised.
Reproduzir discos avançadosPlay enhanced disks PlayEnhancedCDOnArrivalPlayEnhancedCDOnArrival
PlayEnhancedDVDOnArrivalPlayEnhancedDVDOnArrival
Quando um disco é inserido na unidade óptica, a Reprodução Automática examina os arquivos para determinar o tipo de conteúdo.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando um disco avançado é encontrado, o evento correspondente ao tipo de disco óptico é acionado.When an enhanced disk is found, the event corresponding to the type of optical disk is raised.
Manipular discos ópticos graváveisHandle writeable optical disks HandleCDBurningOnArrivalHandleCDBurningOnArrival
HandleDVDBurningOnArrivalHandleDVDBurningOnArrival
HandleBDBurningOnArrivalHandleBDBurningOnArrival
Quando um disco é inserido na unidade óptica, a Reprodução Automática examina os arquivos para determinar o tipo de conteúdo.When a disk is inserted into the optical drive, AutoPlay will examine the files to determine the type of content. Quando um disco gravável é encontrado, o evento correspondente ao tipo de disco óptico é acionado.When a writable disk is found, the event corresponding to the type of optical disk is raised.
Manipular qualquer outra conexão de dispositivo ou volumeHandle any other device or volume connection UnknownContentOnArrivalUnknownContentOnArrival Gerado para todos os eventos, caso seja encontrado conteúdo que não corresponda nenhum dos eventos de conteúdo de Reprodução Automática.Raised for all events in case content is found that does not match any of the AutoPlay content events. O uso desse evento não é recomendado.Use of this event is not recommended. Você só deve registrar o seu aplicativo para os eventos de Reprodução Automática específicos que ele possa manipular.You should only register your application for the specific AutoPlay events that it can handle.

É possível especificar que a Reprodução Automática gere um evento de conteúdo de Reprodução Automática personalizado usando a entrada CustomEvent no arquivo autorun.inf de um volume.You can specify that AutoPlay raise a custom AutoPlay Content event using the CustomEvent entry in the autorun.inf file for a volume. Para obter mais informações, consulte entradas de Autorun.inf.For more info, see Autorun.inf entries.

Você pode registrar seu aplicativo como um conteúdo de Reprodução Automática ou um manipulador de evento de dispositivo de Reprodução Automática adicionando uma extensão ao arquivo package.appxmanifest para seu aplicativo.You can register your app as an AutoPlay Content or AutoPlay Device event handler by adding an extension to the package.appxmanifest file for your app. Se você estiver usando o Visual Studio, poderá adicionar uma declaração Conteúdo de Reprodução Automática ou Dispositivo de Reprodução Automática na guia Declarações. Se você estiver editando o arquivo package.appxmanifest diretamente para seu aplicativo, adicione um elemento Extensão ao manifesto do pacote que especifica windows.autoPlayContent ou windows.autoPlayDevice como a Categoria.If you are using Visual Studio, you can add an AutoPlay Content or AutoPlay Device declaration in the Declarations tab. If you are editing the package.appxmanifest file for your app directly, add an Extension element to your package manifest that specifies either windows.autoPlayContent or windows.autoPlayDevice as the Category. Por exemplo, a entrada a seguir no manifesto do pacote adiciona uma extensão de Conteúdo de Reprodução Automática para registrar o aplicativo como manipulador do evento ShowPicturesOnArrival.For example, the following entry in the package manifest adds an AutoPlay Content extension to register the app as a handler for the ShowPicturesOnArrival event.

  <Applications>
    <Application Id="AutoPlayHandlerSample.App">
      <Extensions>
        <Extension Category="windows.autoPlayContent">
          <AutoPlayContent>
            <LaunchAction Verb="show" ActionDisplayName="Show Pictures"
                          ContentEvent="ShowPicturesOnArrival" />
          </AutoPlayContent>
        </Extension>
      </Extensions>
    </Application>
  </Applications>