14
Ondrej Stastny Microsoft Premier Field Engineer Windows 8.1 Äpipäev

Ondrej Stastny Microsoft Premier Field Engineer Windows 8.1 Äpipäev

Embed Size (px)

Citation preview

Ondrej Stastny

Microsoft Premier Field Engineer

Windows 8.1 Äpipäev

• Speech Synthesis • AR Parrot Drone UI• 3D printing

Agenda

Speech Synthesis

• XML based language• W3 standard for speech synthesis

Speech Synthesis Markup Language (SSML)

• Mark• Notify app that certain point has been reached

• Phoneme• Phonetic pronounciation

• Say-as• Aid the synthesis processor

• P, Break, …

// create the data streamSpeechSynthesisStream synthesisStream; synthesisStream = await this.synthesizer.SynthesizeSsmlToStreamAsync(text);

// start this audio stream playingthis.media.AutoPlay = true;this.media.SetSource(synthesisStream, synthesisStream.ContentType);this.media.Play();

AR Drone 2.0

Initialize connection to the dronepublic static async Task ConnectToDrone(){                // Set up the UDP connection         string remotePort = "5556";         HostName droneIP = new HostName("192.168.1.1");                udpSocket = new DatagramSocket();         await udpSocket.BindServiceNameAsync(remotePort);         await udpSocket.ConnectAsync(droneIP, remotePort);         udpWriter = new DataWriter(udpSocket.OutputStream);             }

Send a commandpublic static async Task SendDroneCommand(string command){         udpWriter.WriteString(command);         await udpWriter.StoreAsync();}

AT*REF – takeoff/landing,resetAT*PCMD -airborn manipulation[sequence, flag,  roll, pitch, vertical speed, angular speed]

// Strafe drone forward or backward at velocity in range [-1,1]public static string GetDroneStrafeForwardBackward(uint sequenceNumber, double velocity){     // Convert the ratio into a value the drone understands     int value = FloatConversion(velocity);     return CreateATPCMDCommand(sequenceNumber, "0," + value + ",0,0"); }   // Return a full ATPCMD commandprivate static string CreateATPCMDCommand(uint sequenceNumber, string command){     return "AT*PCMD=" + sequenceNumber + ",1," + command + Environment.NewLine;}

3D printing

• 3D printing will go mainstream• Similar to printing 2D content• Print Preview• Print Ticket XML

Intro

3D Builder

1. Register for Print contractprotected virtual void RegisterForPrinting() {

// Create the PrintDocument. printDocument = new PrintDocument(); // Save the DocumentSource. printDocumentSource = printDocument.DocumentSource; // Add an event handler which creates preview pages. printDocument.Paginate += CreatePrintPreviewPages; // Add an event handler which provides a specified preview page. printDocument.GetPreviewPage += GetPrintPreviewPage; // Add an event handler which provides all final print pages. printDocument.AddPages += AddPrintPages; // Create a PrintManager and add a handler for printing initialization. PrintManager printMan = PrintManager.GetForCurrentView(); printMan.PrintTaskRequested += PrintTaskRequested; // Initialize print content for this scenario PreparePrintContent(); }