Mostrando las entradas con la etiqueta Multimedia. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Multimedia. Mostrar todas las entradas

viernes, 1 de diciembre de 2017

El Manual del Día: Windows Presentation Foundation Parte 2

MSDN - Manual de Windows Presentation Foundation Parte 2

Titulo: Manual de Windows Presentation Foundation Parte 2
Fuente Original: Microsoft Developer Network (MSDN)
Compilado Por: Luis Dueñas Huaroto (Lduenas)
Año de Compilación: 2008
Número de Páginas: 473

Indice del Manual de Windows Presentation Foundation (Parte 2)

4. Controles
  4.1. Información General sobre Controles
  4.2. Tutorial: Crear un Botón Animado mediante el uso de XAML
  4.3. Personalización de Controles
    4.3.1. Información General sobre la Creación de Controles
    4.3.2. Instrucciones para el Diseño de Controles con Estilos
    4.3.3. Adornos
      4.3.3.1. Información General sobre Adornos
      4.3.3.2. Temas Cómo de Adornos
        4.3.3.2.1. Cómo: Implementar un Adorno
        4.3.3.2.2 Cómo: Enlazar un Adorno a un Elemento
        4.3.3.2.3. Cómo: Incluir Adornos en los Elementos Secundarios de un Panel
        4.3.3.2.4. Cómo: Quitar un Adorno de un Elemento
        4.3.3.2.5. Cómo: Quitar Todos los Adornos de un Elemento
    4.3.4. Ejemplos de ControlTemplate
      4.3.4.1. Ejemplo de ControlTemplate de Button
      4.3.4.2. Ejemplo de ControlTemplate de CheckBox
      4.3.4.3. Ejemplo de ControlTemplate de ComboBox
      4.3.4.4. Ejemplo de ControlTemplate de ComboBoxItem
      4.3.4.5. Ejemplo de ControlTemplate de ContextMenu
      4.3.4.6. Ejemplo de ControlTemplate para DocumentViewer
      4.3.4.8. Ejemplo de ControlTemplate de Frame
      4.3.4.9. Ejemplo de ControlTemplate de GroupBox
      4.3.4.10. Ejemplo de ControlTemplate de Label
      4.3.4.11. Ejemplo de ControlTemplate de ListBox
      4.3.4.12. Ejemplo de ControlTemplate de ListBoxItem
      4.3.4.13. Ejemplo de ControlTemplate de ListView
      4.3.4.14. Ejemplo de ControlTemplate de ListViewItem
      4.3.4.15. Ejemplo de ControlTemplate de Menu
      4.3.4.16. Ejemplo de ControlTemplate para MenuItem
      4.3.4.17. Ejemplo de ControlTemplate de NavigationWindow
      4.3.4.18. Ejemplo de ControlTemplate para ProgressBar
      4.3.4.19. Ejemplo de ControlTemplate de RadioButton
      4.3.4.20. Ejemplo de ControlTemplate de ScrollBar
      4.3.4.21. Ejemplo de ControlTemplate de ScrollViewer
      4.3.4.22. Ejemplo de ControlTemplate de Slider
      4.3.4.23. Ejemplo de ControlTemplate de StatusBar
      4.3.4.24. Ejemplo de ControlTemplate de TabControl
      4.3.4.25. Ejemplo de ControlTemplate de TabItem
      4.3.4.26. Ejemplo de ControlTemplate de TextBox
      4.3.4.27. Ejemplo de ControlTemplate de ToolBar
      4.3.4.28. Ejemplo de ControlTemplate de ToolTip
      4.3.4.29. Ejemplo de ControlTemplate de TreeView
      4.3.4.30. Ejemplo de ControlTemplate para TreeViewItem
      4.3.4.31. Ejemplo de ControlTemplate de Window
    4.3.5. Automatización de la Interfaz de Usuario de un Control Personalizado de WPF
  4.4. Agrupar Controles por Categoría
  4.5. Modelos de Contenido
    4.5.1. Modelo de Contenido de WPF
    4.5.2. Información General sobre el Modelo de Contenido de Controles
    4.5.3. Información General sobre el Modelo de Contenido de Decorador
    4.5.4. Información General sobre el Modelo de Contenido de Paneles
    4.5.5. Información General sobre el Modelo de Contenido de TextBlock
    4.5.6. Información General sobre el Modelo de Contenido de TextBox
5. Datos
  5.1. Enlace de Datos
    5.1.1. Información General sobre el Enlace de Datos
    5.1.2. Información General sobre Orígenes de Enlaces
    5.1.3. Información General sobre Plantillas de Datos
    5.1.4. Información General sobre Declaraciones de Enlaces
    5.1.5. Temas Cómo sobre Enlace de Datos
      5.1.5.1. Cómo: Crear un Enlace Sencillo
      5.1.5.2. Cómo: Especificar el Origen de Enlace
      5.1.5.3. Cómo: Hacer que los Datos estén Disponibles para el Enlace XAML
      5.1.5.4. Cómo: Controlar Cuándo el Texto de TextBox Actualiza el Origen
      5.1.5.5. Cómo: Especificar la Dirección del Enlace
      5.1.5.6. Cómo: Enlazar a una Colección y Mostrar Información Basada en la Selección
      5.1.5.7. Cómo: Enlazar a una Enumeración
      5.1.5.8. Cómo: Enlazar las Propiedades de dos Controles
      5.1.5.9. Cómo: Implementar la Validación de Enlaces
      5.1.5.10. Cómo: Implementar Lógica de Validación en Objetos Personalizados
      5.1.5.11. Cómo: Obtener el Objeto de Enlace a Partir de una Propiedad de Destino Enlazada
      5.1.5.12. Cómo: Implementar una CompositeCollection
      5.1.5.13. Cómo: Convertir Datos Enlazados
      5.1.5.14. Cómo: Crear un Enlace en Código
      5.1.5.15. Cómo: Obtener la Vista Predeterminada de Recolección de Datos
      5.1.5.16. Cómo: Navegar por los Objetos de una Colección de Datos mediante CollectionView
      5.1.5.17. Cómo: Filtrar Datos en una Vista
      5.1.5.18. Cómo: Ordenar Datos en una Vista
      5.1.5.19. Cómo: Ordenar y Agrupar Datos mediante una Vista en XAML
      5.1.5.20. Cómo: Usar el Patrón Principal Detalle con datos Jerárquicos
      5.1.5.21. Cómo: Usar el Patrón Principal Detalle con Datos XML Jerárquicos
      5.1.5.22. Cómo: Generar un Valor Basado en una Lista de Elementos Enlazados
      5.1.5.23. Cómo: Implementar la Notificación de Cambio de Propiedad
      5.1.5.24. Cómo: Crear y Enlazar a una Colección ObservableCollection
      5.1.5.25. Cómo: Implementar PriorityBinding
      5.1.5.26. Cómo: Enlazar a Datos XML mediante XMLDataProvider y Consultas XPath
      5.1.5.27. Cómo: Enlazar a los Resultados de una Consulta LINQ para XML, XDocument o XElement
      5.1.5.28. Cómo: Usar Espacios de Nombres XML en el Enlace de Datos
      5.1.5.29. Cómo: Enlazar a un Origen de Datos ADO .NET
      5.1.5.30. Cómo: Enlazar a un Método
      5.1.5.31. Cómo: Configurar la Notificación de Actualizaciones de Enlaces
      5.1.5.32. Cómo: Borrar Enlaces
      5.1.5.33. Cómo: Buscar Elementos Generados por un Objeto DataTemplate
      5.1.5.34. Cómo: Enlazar a un Servicio Web
      5.1.5.35. Cómo: Enlazar a los Resultados de una Consulta LINQ
  5.2. Arrastrar y Colocar
    5.2.1. Información General sobre la Función de Arrastrar y Colocar
    5.2.2. Temas Cómo de Arrastrar y Colocar
      5.2.2.1. Cómo: Usar un Control Thumb para Habilitar la Acción de Arrastrar
      5.2.2.2. Cómo: Crear un Objeto de Datos
      5.2.2.3. Cómo: Determinar si un Formato de Datos está Presente en un Objeto de Datos
      5.2.2.4. Cómo: Mostrar los Formatos de Datos en un Objeto de Datos
      5.2.2.5. Cómo: Recuperar Datos en un Formato Concreto
      5.2.2.6. Cómo: Almacenar Varios Formatos de Datos en un Objeto de Datos
6. Documentos
  6.1. Documentos en Windows Presentation Foundation
  6.2. Almacenamiento y Serialización de Documentos
  6.3. Anotaciones
    6.3.1. Información General sobre Anotaciones
    6.3.2. Esquema en Anotaciones
  6.4. Contenido Dinámico
    6.4.1. Información General sobre Documentos Dinámicos
    6.4.2. Información General sobre el Modelo de Contenido de TextElement
    6.4.3. Información General sobre Tablas
    6.4.4. Temas "Cómo..." de Elementos de Contenido Dinámico
      6.4.4.1. Cómo: Ajustar el Espaciado entre Párrafos
      6.4.4.2. Cómo: Generar una Tabla mediante Programación
      6.4.4.3. Cómo: Cambiar la Propiedad FlowDirection de Contenido mediante Programación
      6.4.4.4. Cómo: Cambiar la Propiedad TextWrapping mediante Programación
      6.4.4.5. Cómo: Definir una Tabla con XAML
      6.4.4.6. Cómo: Modificar la Tipografía de Texto
      6.4.4.7. Cómo: Habilitar el Recorte de Texto
      6.4.4.8. Cómo: Insertar un Elemento en Texto mediante Programación
      6.4.4.9. Cómo: Manipular Elementos de Contenido Dinámico mediante la Propiedad Blocks
      6.4.4.10. Cómo: Manipular Elementos de Contenido Dinámico mediante la Propiedad Inlines
      6.4.4.11. Cómo: Manipular un Objeto FlowDocument mediante la Propiedad Blocks
      6.4.4.12. Cómo: Manipular las Columnas de una Tabla mediante la Propiedad Columns
      6.4.4.13. Cómo: Manipular Grupos de Filas de una Tabla mediante la Propiedad RowGroups
      6.4.4.14. Cómo: Usar Elementos de Contenido Dinámico
      6.4.4.15. Cómo: Usar Atributos de Separación de Columnas FlowDocument
  6.5. Tipografía
    6.5.1. Tipografía en Windows Presentation Foundation
    6.5.2. Información General sobre ClearType
    6.5.3. Configuración del Registro de ClearType
    6.5.4. Dibujar Texto con Formato
    6.5.5. Formato de Texto Avanzado
    6.5.6. Fuentes en WPF
      6.5.6.1. Características de las Fuentes OpenType
      6.5.6.2. Empaquetar Fuentes con Aplicaciones
      6.5.6.3. Paquete de Fuentes OpenType de Ejemplo
      6.5.6.4. Temas Cómo sobre Fuentes
        6.5.6.4.1. Cómo: Enumerar Fuentes del Sistema
        6.5.6.4.2. Cómo: Utilizar la Clase FontSizeConverter
    6.5.7. Glifos
      6.5.7.1. Introducción al Objeto GlyphRun y al Elemento Glyphs
      6.5.7.2. Dibujar Texto mediante Grifos
    6.5.8. Temas Cómo sobre Tipografía
      6.5.8.1. Cómo: Crear una Decoración de Texto
      6.5.8.2. Cómo: Usar una Decoración de Texto con un Hipervínculo
      6.5.8.3. Cómo: Aplicar Transformaciones a Texto
      6.5.8.4. Cómo: Aplicar Animaciones a Texto
      6.5.8.5. Cómo: Crear un Efecto de Texto
      6.5.8.6. Cómo: Crear Texto con Sombreado
      6.5.8.7. Cómo: Crear Texto con Contorno
      6.5.8.8. Cómo: Crear una Animación de PathGeometry para Texto
      6.5.8.9. Cómo: Dibujar Texto en el Fondo de un Control
      6.5.8.10. Cómo: Dibujar Texto en un Elemento Visual
      6.5.8.11. Cómo: Establecer Propiedades Tipográficas
      6.5.8.12. Cómo: Usar Caracteres Especiales en XAML
  6.6. Imprimir y Administración de Sistemas de Impresión
    6.6.1. Información General sobre Impresión
    6.6.2. Temas Cómo de Impresión
      6.6.2.1. Cómo: Invocar un Cuadro de Diálogo de Impresión
      6.6.2.2. Cómo: Clonar una Impresora
      6.6.2.3. Cómo: Diagnosticar Trabajos de Impresión Problemáticos
      6.6.2.4. Cómo: Detectar si un Trabajo de Impresión se puede Imprimir en esta Hora del Día
      6.6.2.5. Cómo: Enumerar un Subconjunto de Colas de Impresión
      6.6.2.6. Cómo: Ampliar el Esquema de Impresión y Crear Nuevas Clases del Sistema de Impresión
      6.6.2.7. Cómo: Obtener Propiedades de un Objeto de Sistema de Impresión sin Reflexión
      6.6.2.8. Cómo: Imprimir mediante Programación Archivos XPS
      6.6.2.9. Cómo: Supervisar de forma Remota el Estado de las Impresoras
      6.6.2.10. Cómo: Validar y Combinar Elementos PrintTicket
7. Gráficos y Multimedia
  7.1. Información General sobre Características de Gráficos, Animación y Multimedia en WPF
  7.2. Información General sobre la Representación de Gráficos en WP
  7.3. Gráficos
    7.3.1. Efectos de Mapa de Bits
      7.3.1.1. Información General sobre Efectos de Mapa de Bits
      7.3.1.2. Temas Cómo de Efectos de Mapa de Bits
        7.3.1.2.1. Cómo: Crear un Efecto de Resplandor en el Margen Externo de un Objeto
        7.3.1.2.2. Cómo: Animar un Efecto de Resplandor
        7.3.1.2.3. Cómo: Animar Efectos de Mapa de Bits
        7.3.1.2.4. Cómo: Aplicar un Efecto de Desenfoque a un Objeto Visual
        7.3.1.2.5. Cómo: Animar un Efecto Visual de Desenfoque
        7.3.1.2.6. Cómo: Crear un Efecto Visual de Sombra Paralela
        7.3.1.2.7. Cómo: Animar un Efecto Visual de Sombra Paralela
        7.3.1.2.8. Cómo: Crear un Efecto Visual con Bisel
        7.3.1.2.9. Cómo: Animar un Efecto Visual con Bisel
        7.3.1.2.10. Cómo: Crear un Efecto Visual con Relieves
        7.3.1.2.11. Cómo: Animar un Efecto Visual con Relieves
        7.3.1.2.12. Cómo: Crear Varios Efectos Visuales
        7.3.1.2.13. Cómo: Animar Varios Efectos Visuales
        7.3.1.2.14. Cómo: Usar un Efecto Visual Personalizado
        7.3.1.2.15. Cómo: Aplicar un Efecto a Parte de una Imagen
        7.3.1.2.16. Cómo: Animar un Efecto dentro de un BitmapEffectGroup
    7.3.2. Pinceles
      7.3.2.1. Información General sobre Pinceles de WPF
      7.3.2.2. Información General sobre la Transformación de Pinceles
      7.3.2.3. Información General sobre las Máscaras de Opacidad
      7.3.2.4. Información General sobre el Dibujo con Colores Sólidos y Degradados
      7.3.2.5. Pintar con Imágenes, Dibujos y Elementos Visuales
      7.3.2.6. Información General sobre Objetos TileBrush
      7.3.2.7. Temas Cómo de Pinceles
        7.3.2.7.1. Cómo: Animar el Color o la Opacidad de un Objeto SolidColorBrush
        7.3.2.7.2. Cómo: Animar la Posición o Color de un Punto de Degradado
        7.3.2.7.3. Cómo: Crear una Reflexión
        7.3.2.7.4. Cómo: Crear Patrones de Mosaico diferentes con un Objeto TileBrush
        7.3.2.7.5. Cómo: Definir un Lápiz
        7.3.2.7.6. Cómo: Pintar un Area con un Dibujo
        7.3.2.7.7. Cómo: Pintar un Area con una Imagen
        7.3.2.7.8. Cómo: Pintar un Area con un Degradado Lineal
        7.3.2.7.9. Cómo: Pintar un Area con un Degradado Radial
        7.3.2.7.10. Cómo: Pintar un Area con un Color Sólido
        7.3.2.7.11. Cómo: Pintar un Area con un Pincel del Sistema
        7.3.2.7.12. Cómo: Pintar un Area con un Vídeo
        7.3.2.7.13. Cómo: Pintar un Area con un Objeto Visual
        7.3.2.7.14. Cómo: Conservar la Relación de Aspecto de una Imagen utilizada como Fondo
        7.3.2.7.15. Cómo: Establecer la Alineación Horizontal y Vertical de TileBrush
        7.3.2.7.16. Cómo: Establecer el Tamaño del Mosaico de un TileBrush
        7.3.2.7.17. Cómo: Transformar un Pincel
        7.3.2.7.18. Cómo: Usar Colores del Sistema en un Degradado
    7.3.3. Dibujos
      7.3.3.1. Información General sobre Objetos Drawing
      7.3.3.2. Temas Cómo de Dibujo
        7.3.3.2.1. Cómo: Aplicar un Objeto BitmapEffect a un Dibujo
        7.3.3.2.2. Cómo: Aplicar un Objeto GuidelineSet a un Dibujo
        7.3.3.2.3. Cómo: Aplicar una Máscara de Opacidad a un Dibujo
        7.3.3.2.4. Cómo: Aplicar una Transformación a un Dibujo
        7.3.3.2.5. Cómo: Recortar un Dibujo
        7.3.3.2.6. Cómo: Controlar la Opacidad de un Dibujo
        7.3.3.2.7. Cómo: Crear un Dibujo Compuesto
        7.3.3.2.8. Cómo: Crear un Objeto GeometryDrawing
        7.3.3.2.9. Cómo: Dibujar una Imagen usando Objeto ImageDrawing
        7.3.3.2.10. Cómo: Reproducir Elementos Multimedia con un Objeto VideoDrawing
        7.3.3.2.11. Cómo: Usar un Dibujo como el Origen de una Imagen
    7.3.4. Geometrías
      7.3.4.1. Sintaxis de Marcado de Trazados
      7.3.4.2. Información General sobre Geometría
      7.3.4.3. Temas Cómo de Objetos de Geometría
        7.3.4.3.1. Cómo: Animar una Región de Recorte
        7.3.4.3.2. Cómo: Animar un EllipseGeometry
        7.3.4.3.3. Cómo: Animar el Tamaño de un Objeto ArcSegment
        7.3.4.3.4. Cómo: Controlar el Relleno de una Forma Compuesta
        7.3.4.3.5. Cómo: Crear una Región de Recorte
        7.3.4.3.6. Cómo: Crear una Geometría Combinada
        7.3.4.3.7. Cómo: Crear una Forma Compuesta
        7.3.4.3.8. Cómo: Crear una Curva Bézier Cúbica
        7.3.4.3.9. Cómo: Crear una Línea mediante la Clase LineGeometry
        7.3.4.3.10. Cómo: Crear un Segmento de Línea en una Clase PathGeometry
        7.3.4.3.11. Cómo: Crear una Forma mediante una Clase PathGeometry
        7.3.4.3.12. Cómo: Crear una Forma utilizando StreamGeometry
        7.3.4.3.13. Cómo: Crear una curva Bézier Cuadrática
        7.3.4.3.14. Cómo: Crear un Arco Elíptico
        7.3.4.3.15. Cómo: Crear Varios Subtrazados en un PathGeometry
        7.3.4.3.16. Cómo: Definir un Rectángulo usando una Clase RectangleGeometry
        7.3.4.3.17. Cómo: Redondear las Esquinas de un RectangleGeometry

Descarga


viernes, 26 de febrero de 2016

El Libro del Día: Android TV Apps Development

El Libro del Día: 2016-02-26

Titulo: Android TV Apps Development
Autor: Paul Trebilcox-Ruiz
Editorial: Apress
Nro Paginas: 127

Capítulos:
Chapter 1: Getting Started
Chapter 2: Planning Your App
Chapter 3: Building a Media App
Chapter 4: Enriching Your Media Apps
Chapter 5: The Android TV Platform for Game Development
Chapter 6: Android TV App Publishing

Descarga:
Android_TV_Apps_Development

viernes, 22 de enero de 2016

El Libro del Día: Xamarin Mobile Development for Android Cookbook

El Libro del Día: 2016-01-22

Titulo: Xamarin Mobile Development for Android Cookbook
Autor: Matthew Leibowitz
Editorial: Packt
Nro Paginas: 456

Capítulos:
Chapter 1: Working with Xamarin.Android
Chapter 2: Showing Views and Handling Fragments
Chapter 3: Managing App Data
Chapter 4: Presenting App Data
Chapter 5: Communicating with the Outside World
Chapter 6: Using Background Tasks
Chapter 7: Notifying Users
Chapter 8: Interacting with Other Apps
Chapter 9: Presenting Multimedia
Chapter 10: Responding to the User
Chapter 11: Connecting to Wearables
Chapter 12: Adding In-App Billing
Chapter 13: Publishing Apps

Descarga:
Xamarin_Mobile_Development_for_Android_Cookbook

miércoles, 25 de noviembre de 2015

El Libro del Día: Developing with PDF

El Libro del Día: 2015-11-25

Titulo: Developing with PDF
Autor: Leonard Rosenthol
Editorial: O'Reilly
Nro Paginas: 217

Capítulos:
1. PDF Syntax
2. PDF Imaging Model
3. Images
4. Text
5. Navigation
6. Annotations
7. AcroForms
8. Embedded Files
9. Multimedia and 3D
10. Optional Content
11. Tagging and Structure
12. Metadata
13. PDF Standards

Descarga:
Developing_with_PDF

lunes, 23 de noviembre de 2015

El Libro del Día: Portable Document Format Specification 1.7

El Libro del Día: 2015-11-23

Titulo: Portable Document Format Specification 1.7
Autor: Adobe
Editorial: Adobe
Nro Paginas: 756

Capítulos:
1. Scope
2. Conformance
3. Normative references
4. Terms and definitions
5. Notation
6. Version Designations
7. Syntax
8. Graphics
9. Text
10. Rendering
11. Transparency
12. Interactive Features
13. Multimedia Features
14. Document Interchange

Descarga:
Portable_Document_Format_Specification_1.7

jueves, 25 de junio de 2015

El Libro del Día: HTML5, JavaScript, and jQuery

El Libro del Día: 2015-06-25

Titulo: HTML5, JavaScript, and jQuery. 24 Hour Trainer
Autor: Dane Cameron
Editorial: Wrox
Nro Paginas: 411

Capítulos:
PART I: HTML AND CSS
LESSON 1: INTRODUCTION TO HTML5
LESSON 2: BASIC HTML
LESSON 3: LISTS AND TABLES
LESSON 4: INTRODUCTION TO CSS
LESSON 5: STRUCTURING PAGES WITH CSS
LESSON 6: HTML FORMS
LESSON 7: SEMANTIC TAGS
LESSON 8: HTML5 VALIDATION
LESSON 9: DRAG AND DROP
LESSON 10: DYNAMIC ELEMENTS
PART II: DYNAMIC HTML5 WEB APPLICATIONS WITH JAVASCRIPT AND JQUERY
LESSON 11: JAVASCRIPT 95
LESSON 12: DEBUGGING
LESSON 13: FUNCTIONS
LESSON 14: OBJECTS
LESSON 15: JSON
LESSON 16: DOCUMENT OBJECT MODEL
LESSON 17: JQUERY SELECTION
LESSON 18: JQUERY TRAVERSAL AND MANIPULATION
LESSON 19: JQUERY EVENTS
LESSON 20: DATA ATTRIBUTES AND TEMPLATES
LESSON 21: JQUERY PLUGINS
PART III: HTML5 MULTIMEDIA
LESSON 22: HTML5 AUDIO
LESSON 23: HTML5 VIDEO
LESSON 24: CANVAS: PART I
LESSON 25: CANVAS: PART II
LESSON 26: CSS3: PART I
LESSON 27: CSS3: PART II
LESSON 28: CSS3 MEDIA QUERIES
PART IV: HTML5 APIS
LESSON 29: WEB SERVERS
LESSON 30: WEB STORAGE
LESSON 31: INDEXEDDB
LESSON 32: APPLICATION CACHE
LESSON 33: WEB WORKERS
LESSON 34: FILES
LESSON 35: AJAX
LESSON 36: PROMISES
PART V: MOBILE
LESSON 37: RESPONSIVE WEB DESIGN
LESSON 38: LOCATION API
LESSON 39: JQUERY MOBILE: PART I
LESSON 40: JQUERY MOBILE: PART II

Descarga:
HTML5_JavaScript_and_jQuery_24_Hour_Trainer

jueves, 19 de marzo de 2015

El Libro del Día: iOS Development with Xamarin Cookbook

El Libro del Día: 2015-03-19

Titulo: iOS Development with Xamarin Cookbook
Autor: Dimitris Tavlikos
Editorial: Packt
Nro Paginas: 386

Capítulos:
Chapter 1: Development Tools
Chapter 2: User Interface – Views
Chapter 3: User Interface – View Controllers
Chapter 4: Data Management
Chapter 5: Displaying Data
Chapter 6: Web Services
Chapter 7: Multimedia Resources
Chapter 8: Integrating iOS Features
Chapter 9: Interacting with Device Hardware
Chapter 10: Location Services and Maps
Chapter 11: Graphics and Animation
Chapter 12: Multitasking
Chapter 13: Localization
Chapter 14: Deploying
Chapter 15: Advanced Features

Descarga:
iOS_Development_with_Xamarin_Cookbook

miércoles, 5 de noviembre de 2014

El Libro del Día: HTML5 Hacks

El Libro del Día: 2014-11-05

Titulo: HTML5 Hacks
Autor: Jesse Cravens, Jeff Burtoft
Editorial: O'Reilly
Nro Paginas: 504

Capítulos:
1. Hacking the Semantic Way (10 Hacks)
2. Hacking with Style (17 Hacks)
3. Multimedia Hacking (9 Hacks)
4. Hacking Your Graphics with Canvas and SVG (9 Hacks)
5. User Interactions (6 Hacks)
6. Client-Side Data Storage Hacks (6 Hacks)
7. Geolocation Hacks (6 Hacks)
8. WebWorker API (6 Hacks)
9. Hacking HTML5 Connectivity (9 Hacks)
10. Pro HTML5 Application Hacks with Node.js (12 Hacks)
Total: 90 Hacks

Descarga:
HTML5_Hacks

domingo, 26 de octubre de 2014

El Libro del Día: La Biblia de Visual Basic .NET (Cap 6)

El Libro del Día: 2014-10-26

Titulo: La Biblia de Visual Basic .NET (Capítulo 6)
Autor: Luis Dueñas Huaroto
Editorial: Coredise
Nro Paginas: 147

Capítulo 6: Desarrollando Aplicaciones con WPF
1. Creando Aplicaciones Básicas con WPF
1.1. Introducción a WPF
1.2. Trabajando con Ventanas
1.3. Trabajando con Páginas
1.4. Usando Cuadros de Diálogo
2. Usando Enlace de Datos
2.1. Introducción al Enlace de Datos
2.2. Usando Enlace de Datos
2.3. Usando Conversión de Datos
2.4. Usando Plantillas de Datos
2.5. Usando el Control DataGrid
3. Manejando Documentos
3.1. Introducción al Manejo de Documentos
3.2. Trabajando con Documentos Fijos
3.3. Creando Anotaciones en Documentos
3.4. Trabajando con Documentos Dinámicos
4. Manejando Multimedia
4.1. Introducción al Manejo de Multimedia
4.2. Implementando Voz
4.3. Trabajando con Audio y Video
Indice de Ejemplos del Libro
Enlaces de Referencia

Descarga:
Biblia_VisualBasicNET_Capitulo6

lunes, 21 de julio de 2014

El Libro del Día: Start Here Build Windows 8 Apps with HTML5 and JavaScript

El Libro del Día: 2014-07-21

Titulo: Start Here Build Windows 8 Apps with HTML5 and JavaScript
Autor: Dino Esposito, Francesco Esposito
Editorial: Microsoft
Nro Paginas: 388

Capítulos:
Chapter 1 Using Visual Studio 2012 Express edition for Windows 8
Chapter 2 Making sense of HTML5
Chapter 3 Making sense of CSS
Chapter 4 Making sense of JavaScript
Chapter 5 First steps with Windows 8 development
Chapter 6 The user interface of Windows Store applications
Chapter 7 Navigating through multimedia content
Chapter 8 States of a Windows 8 application
Chapter 9 Integrating with the Windows 8 environment
Chapter 10 Adding persistent data to applications
Chapter 11 Working with remote data
Chapter 12 Accessing devices and sensors
Chapter 13 Adding Live tiles
Chapter 14 Publishing an application

Descarga:
StartHere_Build_Windows8_Apps_HTML5_JavaScript

viernes, 4 de julio de 2014

El Libro del Día: Jump Start HTML5

El Libro del Día: 2014-07-04

Titulo: Jump Start HTML5
Autor: Tiffany B Brown, Kerry Butters, Sandeep Panda
Editorial: Sitepoint
Nro Paginas: 313

Capítulos:
1. Basics: What is HTML5?
2. Basics: The Anatomy of HTML5
3. Basics: Structuring Documents
4. Basics: HTML5 Forms
5. Basics: Multimedia, Audio and Video
6. Multimedia: Preparing Your Media
7. Multimedia: Using Native HTML5 Audio
8. Multimedia: Using Native HTML5 Video
9. Multimedia: The source Element
10. Mutimedia: The track Element
11. Multimedia: Scripting Media Players
12. Canvas & SVG: An Introduction to Canvas
13. Canvas & SVG: Canvas Basics
14. Canvas & SVG: Handling Non-supporting Browsers
15. Canvas & SVG: Canvas Gradients
16. Canvas & SVG: Canvas Images and Videos
17. Canvas & SVG: An Introduction to SVG
18. Canvas & SVG: Using SVG
19. Canvas & SVG: SVG Bézier Curves
20. Canvas & SVG: SVG Filter Effects
21. Canvas & SVG: Canvas or SVG?
22. Offline Apps: Detecting When the User Is Connected
23. Offline Apps: Application Cache
24. Offline Apps: Web Storage
25. Offline Apps: Storing Data With Client-side Databases
26. APIs: Overview
27. APIs: Web Workers
28. APIs: The Geolocation API
29. APIs: Server Sent Events
30. APIs: The WebSocket API
31. APIs: The Cross-document Messaging API

Descarga:
Jump_Start_HTML5

viernes, 20 de junio de 2014

El Libro del Día: HTML5 for .NET Developers

El Libro del Día: 2014-06-20

Titulo: HTML5 for .NET Developers
Autor: Jim Jackson II, Ian Gilman
Editorial: Manning
Nro Paginas: 416

Capítulos:
1 HTML5 and .NET
2 A markup primer: classic HTML, semantic HTML, and CSS
3 Audio and video controls
4 Canvas
5 The History API: Changing the game for MVC sites
6 Geolocation and web mapping
7 Web workers and drag and drop
8 Websockets
9 Local storage and state management
10 Offline web applications

Descarga:
HTML5_ForNET_Developers

jueves, 19 de junio de 2014

Libro La Biblia de Visual Basic .NET - Preguntas de Repaso - Capítulo 6

Preguntas de Repaso: Desarrollando Aplicaciones con WPF

1.    Qué se puede hacer en WPF que no se puede hacer en WinForms no ASP .NET?

2.    Cuáles son los principales componentes en la arquitectura de WPF?

3.    Menciona 5 características de WPF.

4.    Qué lenguaje de marcas usa WPF?

5.    Cuántos tipos de aplicaciones se pueden crear en WPF?

6.    Menciona 5 tipos de controles de WPF.

7.    Cómo se llama el contenedor principal de controles que viene por defecto en una ventana o página en WPF?

8.    Menciona otros 3 contenedores de controles WPF.

9.    Menciona el evento de inicio que ocurre al cargar una ventana y los eventos de cierre de ventana.

10. Qué debe configurarse para que una cierta ventana de nuestra aplicación inicie primero?

11. Qué es una aplicación WPF del Explorador o XBAP?

12. Que tipo de seguridad tiene por defecto una aplicación WPF del explorador?

13. Qué clase se usa para navegar entre páginas de una aplicación del explorador?

14. Qué se debe hacer para que una aplicación del explorador pueda acceder a archivos, cuadros de diálogo, registro de Windows, etc.?

15. Cómo se clasifican los cuadros de diálogo?

16. Qué tipos de cuadros de diálogo se pueden crear en WPF?

17. Qué espacio de nombres se debe importar para usar los diálogos de archivos de Windows?

18. Cuál es el único cuadro de diálogo interno de WPF?

19. Cómo se llama las clases para implementar los diálogos de abrir y guardar respectivamente?

20. Con qué método del cuadro de diálogo de imprimir (PrintDialog) se puede imprimir cualquier contenido inclusive gráficos?

21. Cuantas técnicas tenemos para presentar datos en una aplicación?

22. Cuáles son las ventajas principales de WPF en el enlace de datos con respecto a WinForms y WebForms?

23. Cuántos tipos de enlaces (Data Bindings) existen?

24. Qué propiedad de los controles de listas implementa el enlace complejo en WPF?

25. Menciona 3 controles que soporten enlace complejo.

26. Qué debe hacerse para crear enlace simple?

27. Menciona 3 controles que soporten enlace simple.

28. Cómo se llama la clase que hace de intermediario entre los controles y el origen de datos en WPF?

29. Menciona los métodos de desplazamiento del objeto CollectionView.

30. Con qué propiedades del CollectionView se verifican el desbordamiento de registro?

31. En qué evento del CollectionView podemos programar para mostrar la posición actual del origen de datos cuando este cambie?

32. Qué propiedades de los controles listas permiten configurar el campo a mostrar y el campo a guardar?

33. Para qué se usa la conversión de datos en WPF?

34. Qué interface tenemos que implementar para realizar la conversión de datos?

35. Qué métodos hay que programar en una clase que implemente dicha interface?

36. Cómo se aplica en el XAML una clase creada para formatear o convertir un tipo de dato en en control enlazado?

37. Cómo se puede ordenar las columnas en el control ListView?

38. Cómo se obtiene la cabecera a la cual se dio clic en un ListView?

39. Cómo se crea un objeto CollectionView?

40. Para qué se usan las plantillas de datos en WPF?

41. Qué tipo de objeto permite crear una plantilla de datos y qué propiedad del control enlazado debemos configurar para aplicar el objeto creado?

42. Cómo se sincronizan 2 listas enlazadas a datos sin necesidad de programar el filtro?

43. Qué es una plantilla jerárquica y cómo se implementa en WPF?

44. Qué control de WPF soporta una plantilla jerárquica?

45. Qué requisitos debe tener el origen de datos antes de enlazar a un control que usará una plantilla jerárquica?

46. Qué control WPF presenta de forma simple filas y columnas sin necesidad de usar plantillas?

47. Cuáles son los tipos de columnas que puede tener el control DataGrid?

48. Qué es necesario hacer al DataGrid para que pueda ordenar los datos al dar clic a la cabeceras de sus columnas?

49. Cuántos tipos de documentos maneja WPF?

50. Qué control se usa para visualizar documentos fijos como los XPS?

51. Qué controles se usan para visualizar documentos dinámicos como los archivos de texto, xml, html, etc.

52. Qué sigifica XPS y cómo se implementa en WPF?

53. Cómo se llama la librería que permite trabajar con documentos XPS?

54. Qué propiedad del control DocumentViewer es necesario configurar para enlazar un documento?

55. Menciona los 3 tipos de anotaciones que hay en WPF.

56. Qué clase es necesario usar para implementar anotaciones en WPF?

57. Menciona 3 métodos de la clase AnnotationService que sirvan para crear anotaciones.

58. Menciona 3 métodos de la clase AnnotationService que sirvan para eliminar o borrar anotaciones.

59. Cuál es la ventaja de los documentos dinámicos?

60. Cómo se puede convertir un archivo de Word o Excel a XPS?

61. Qué se debe hacer si se usa por código trabajar con Word o Excel desde .NET?

62. Cuáles son las 2 clases que implementan Multimedia en WPF?

63. Cómo se llama la librería de clases que implementa el reconocimiento de voz en WPF?

64. Cómo se llama la clase que permite reproducir voz?

65. Qué métodos tiene la clase SpeechSynthesizer para reproducir la voz?

66. Qué propiedades del objeto SpeechSynthesizer permiten controlar el volumen y la velocidad de la voz?

67. Cómo se llama la clase (control) que permite reproducir audio y video?

68. Qué propiedad del control MediaElement especifica la URI con el archivo de audio o video a reproducir?

69. Qué eventos ocurren al iniciar y finalizar la reproducción usando el MediaElement?

70. Qué clase y en que espacio de nombres se encuentra el objeto que permite ejecutar en segundo plano cada cierto tiempo una acción en una aplicación WPD?

martes, 17 de junio de 2014

El Libro del Día: Pro HTML5 with Visual Studio 2012

El Libro del Día: 2014-06-17

Titulo: Pro HTML5 with Visual Studio 2012
Autor: Mark J Collins
Editorial: Apress
Nro Paginas: 409

Capítulos:
Part 1: What is HTML5?
Chapter 1: Before You Begin
Part 2: Using the New HTML5 Features
Chapter 2: ASP.NET Web Forms
Chapter 3: MVC Web Applications
Chapter 4: Cascading Style Sheets
Chapter 5: Scripting Enhancements
Chapter 6: Mobile Web Applications
Part 3: Developing with HTML5
Chapter 7: Supporting Older Browsers
Chapter 8: Audio and Video
Chapter 9: Scalable Vector Graphics
Chapter 10: Canvas
Part 4: Digging Deeper
Chapter 11: Indexed DB
Chapter 12: Geolocation and Mapping
Chapter 13: WebSockets
Chapter 14: Drag and Drop
Appendix A: Chapter 4 - Sample Content
Appendix B: Chapter 4 – Completed Style
Appendix C: Chapter 14 – Final Code

Descarga:
ProHTML5_VisualStudio2012

lunes, 9 de junio de 2014

El Libro del Día: Pro HTML5 Programming

El Libro del Día: 2014-06-09

Titulo: Pro HTML5 Programming
Autor: Peter Lubbers, Brian Albers, Frank Salim
Editorial: Apress
Nro Paginas: 305

Capítulos:
Chapter 1: Overview of HTML5
Chapter 2: Using the HTML5 Canvas API
Chapter 3: Working with HTML5 Audio and Video
Chapter 4: Using the HTML5 Geolocation API
Chapter 5: Using the Communication APIs
Chapter 6: Using the HTML5 WebSocket API
Chapter 7: Using the HTML5 Forms API
Chapter 8: Using the HTML5 Web Workers API
Chapter 9: Using the HTML5 Web Storage API
Chapter 10: Creating HTML5 Offline Web Applications
Chapter 11: The Future of HTML5

Descarga:
ProHTML5_Programming

viernes, 30 de mayo de 2014

Multimedia en HTM5

Parte 1: Audio - Reproducción de Archivos

1. Formatos de Audio
Para reproducir Audio en HTML5 se usa el elemento <audio>, el cual dependiendo del navegador debe soportar los formatos:
·         WAV (Waveform Audio Format): Formato de audio no comprimido desarrollado por IBM y Microsoft.
·         Ogg Vorbis: Formato de audio comprimido de código abierto desarrollado por la fundación Xiph.Org.
·         MP3: Formato de audio comprimido desarrollado por Moving Picture Experts Group (MPEG).

2. El elemento <audio>
Este elemento se compone de varios atributos entre los cuales tenemos:
·         src: Especifica el archivo de audio a reproducir.
·         autoplay: Inicia automáticamente la reproducción.
·         loop: Reinicia el audio cuando termina.
·         controls: Muestra los controles predeterminados para manejar el audio: detener, continuar, tiempo, etc.

3. El elemento <source>
El elemento <audio> puede contener varios elementos de tipo <source> que especifica recursos de audio alternativos al atributo src especificado en el elemento <audio>, es decir, si el Navegador (Browser) no soporta un tipo de archivo de audio especificado en el atributo src del elemento <audio> se generaría un error, sin embargo, si no especificamos el atributo scr y definimos una lista de <source> el navegador reproducirá el primer formato que soporte, tal como se muestra en el siguiente ejemplo:
  <audio controls>
    <source src="Archivo.wav">
    <source src="Archivo.ogg">
    <source src="Archivo.mp3">
  </audio>
El elemento <source> a su vez tiene 2 atributos:
·         src: Especifica el archivo de audio a reproducir si soporta el formato el Navegador.
·         type: Especifica el tipo de recurso multimedia referenciado. Este tiene 2 parametros: un tipo MIME y un Codec. Como se muestra en el siguiente ejemplo:
  <audio controls>
    <source src="Archivo.wav" type="audio/wav; codecs=1">
    <source src="Archivo.ogg" type="audio/ogg; codecs=vorbis">
    <source src="Archivo.mp3" type="audio/mpeg; codecs=mp3">
  </audio>
Nota: No es necesario especificar el tipo (atributo type), mejor es que el navegador lo determine.

Más información:

Parte 2: Audio - Las APIs de Audio

1. Introducción
Actualmente hay 2 APIs de Audio para la Web en la W3C:
·         Audio Data API: Desarrollada por Mozilla e implementada en su navegador Firefox.
·         Web Audio API: Estandar W3C propuesto por Google e implementado en los navegadores Chrome, Firefox y Safari.
Nota: Audio Data API, no es un estándar solo funciona en Mozilla Firefox.
Las APIs de audio permiten programar audio, es decir, realizar las 2 operaciones básicas:
·         Leer archivos de audio y extraer muestras de audio.
·         Crear sonidos o generar datos de audio.
Todo audio, sea en un archivo de sonido o en uno de video, tiene un número fijo de muestras de audio al que se conoce como "FrameBuffer". La interpretación de esta información depende de 2 ajustes de codificación del recurso que son:
·         El número de canales presentes de audio.
·         La frecuencia de muestreo de la grabación.
Nota: A estos 2 se le conocen como Metadatos.

2. Audio Data API
La API de Audio de Mozilla tiene 2 eventos en los cuales se programa la lectura de datos de audio:
·         MozAudioAvailable: Se acciona por cada fragmento de datos de audio que haya sido decodificado.
·         loadedmetadata: Ocurre cuando se carga la información del FrameBuffer, es decir los canales y la frecuencia.
Una vez cargada la metadata se puede acceder a 3 atributos del objeto audio:
·         mozChannels: Número de canales.
·         mozSampleRate: Frecuencia de muestreo (Tasa).
·         mozFrameBufferLength : Número de FrameBuffers.
Ejemplo:
<audio id="audio" src="Archivo.mp3"></audio>
<script>
  var audio = document.getElementById("audio");
  audio.addEventListener('MozAudioAvailable', audioAvailableFunction, false);
  audio.addEventListener('loadedmetadata', loadedMetadataFunction, false);
</script>

Más información:

3. Web Audio API
El objeto principal de la API de Audio Web es "AudioContext" y solo debe existir uno por página. Entre sus miembros tenemos:
·      Propiedades: destination, sampleRate, currentTime, listener.
· Métodos: createBuffer, createBufferSource, createMediaElementSource, createMedia StreamSource, createMediaStreamDestination, createScriptProcessor, createAnalizer, createGain, createDelay, etc.
Las operaciones de audio básicas son realizadas mediante nodos de audio, representado por el objeto "AudioNode", el cual tiene los siguientes miembros:
· Propiedades: context, numberOfInputs, numberOfOutputs, channelCount, channelCount Mode, channelInterpretation.
·        Métodos: connect, disconnect.
Los nodos de audio están unidos a través de sus entradas y salidas. Cada entrada o salida está compuesta por varios canales representando un diseño de canal específico.
Otros objetos importantes de Web Audio API son: AudioBuffer, AudioListener, AudioParam, DelayNode, GainNode, OscillatorNode, PannerNode, ScriptProcessorNode, etc. También existen eventos como: audioprocess, complete y ended.

Más información:

Parte 3: Video - Reproducción de Archivos

1. Formatos de Video
Para reproducir Video en HTML5 se usa el elemento <video>, el cual dependiendo del navegador debe soportar los formatos:
·         WebM: Formato de Video basado en el contenedor MKV de Matroska. Alberga codecs VP8 y Vorbis.
·         Ogg: Formato de video de código abierto desarrollado por la fundación Xiph. Alberga codecs Theora, Vorbis, Speex, FLAC.
·         MP4: Formato de video desarrollado por Moving Picture Experts Group (MPEG). Contenedor de codecs MP3, AAC y H.264.

2. El elemento <video>
El elemento <video> se compone de algunos atributos similares al <audio> entre los cuales tenemos:
·         src: Especifica el archivo de video a reproducir.
·         autoplay: Inicia automaticamente la reproducción.
·         loop: Reinicia el video cuando termina.
·         controls: Muestra los controles predeterminados para manejar el video: detener, continuar, tiempo, etc.
Pero el elemento <video> tiene otros atributos que no tiene el elemento <audio>, entre ellos:
·         poster: Muestra una imagen representativa del video.
·         width: Especifica el ancho del video.
·         height: Especifica el alto del video.

3. El elemento <source>
Al igual que el elemento <audio>, el elemento <video> puede contener varios elementos de tipo <source> que especifican los recursos de video a intentar reproducirse, tal como se muestra en el siguiente ejemplo:
  <video controls>
    <source src="Archivo.webm">
    <source src="Archivo.ogv">
    <source src="Archivo.mp4">
  </video>

4. Conversión de Formatos
Si se desea convertir cualquier formato de video a MP4 (MPEG-4 H.264) existen muchas herramientas, pero la mas útil y de código abierto es FFmpeg, que trabaja por línea de comandos, la versión para Windows se llama Zeranoe FFmpeg. A partir de esta se puede construir una GUI por ejemplo en .NET que permita convertir cualquier tipo de archivo de video en MP4.

Más información:

Parte 4: Video - La API Javascript Multimedia

1. Introducción
La mayoría de objetos de HTML están disponibles para su acceso de 2 formas:
·         Declarativa: Mediante la definición de elementos, por ejemplo para multimedia: <audio> y <video>.
·         Programática: Mediante el uso de Javascript y el Modelo de Objetos de Documento (DOM).
Nota: Para esta última, existe un Lenguaje de Definición de Interfaz Web (WebIDL) que expecifica cada tipo y sus miembros, es decir, cada clase, y las propiedades, metodos y eventos que debe exponer.

2. Atributos
En general, podemos clasificar a los atributos de 2 formas:
·         Atributos de contenido: Definidos en tiempo de diseño en el elemento respectivo, por ejemplo para los elementos <audio> y <video> tenemos los atributos src, autoplay, loop y controls.
·         Atributos IDL: Definidos en tiempo de ejecución o por programación usando las APIs de Javascript, es decir las propiedades. Conocidos también como atributos DOM, para el caso de multimedia reflejan el estado en que se encuentra un elemento multimedia.
Nota: En IDL el recurso multimedia es de tipo HTMLMediaElement, el audio es de tipo HTMLAudioElement y el video de tipo HTMLVideoElement. Estos 2 últimos comparten la misma interfaz HTMLMediaElement.

3. Propiedades
A continuación clasificamos los atributos IDL o propiedades multimedia:
·         Propiedades sobre caracteristicas generales de recursos multimedia: currentSrc, startTime, duration, volume, muted, videoWidth y videoHeight.
·         Propiedades asociadas a la reproducción del recurso multimedia: currentTime, seeking, paused, ended, defaultPlaybackRate, playbackRate.
·         Propiedades referidas a los estados del elemento multimedia: networkState, readyState, error, buffered (TimeRanges), played (TimesRanges), seekable (TimesRanges).

4. Métodos
Solo existen 4 métodos de los elementos multimedia que son los siguientes:
·         load: Carga el recurso realizando los siguientes pasos: inicialización, selección del recurso, obtención del recurso, iniciar la reproducción si autoplay es true.
·         play: Solo ejecuta la reproducción del recurso multimedia a la vez que obtiene y almacena los datos en el buffer.
·         pause: Este método detiene la reproducción del recurso multimedia.
·         canPlayType: Este método toma como parámetro una cadena de tipo MIME y devuelve si el navegador puede reproducir dicho recurso multimedia.

5. Eventos
En realidad son muchos eventos que tiene un recurso multimedia, entre los principales tenemos:
·         loadstart: Ocurre cuando el navegador comienza a buscar la información multimedia.
·         progress: El navegador está obteniendo datos multimedia.
·         suspend: El navegador ha pausado la obtención de datos multimedia pero el recurso todavía no está descargado.
·         playing: Ocurre cuando el recurso se está reproduciendo.
·         ended: Ocurre cuando el recurso termino de reproducirse, etc.

Más información:

Parte 5: Voz - Síntesis con la API de Voz Web

1. Introducción
Web Speech API es la propuesta de Google para implementar voz en las aplicaciones Web con HTML5, actualmente está disponible solo en Chrome, no en los demás navegadores, ya que todavía No es un estándar W3C, sino solo una especificación.

2. Clase SpeechSynthesis
Esta clase permite implementar la síntesis o emisión de voz y presenta los siguientes miembros:
·         Propiedades: pending, speaking y paused.
·         Métodos: speak, cancel, pause, resume y getVoices.

3. Clase SpeechSynthesisUtterance
Esta clase contiene el mensaje a pronunciar (Utterance) por el objeto SpeechSynthesis y contienen los siguientes miembros:
·         Propiedades: text, lang, voiceURI, volume, rate y pitch.
·         Eventos: start, end, error, pause, resume, mark y boundary.

4. Ejemplo de Síntesis
<script>
  var msg = new SpeechSynthesisUtterance();
  var voices = window.speechSynthesis.getVoices();
  msg.voice = voices[10];
  msg.voiceURI = 'native';
  msg.volume = 1; // 0 a 1
  msg.rate = 1; // 0.1 a 10
  msg.pitch = 2; //0 a 2
  msg.text = 'Hola me llamo Luis Dueñas';
  msg.lang = 'es-PE';
  msg.onend = function(e) {
    console.log('Finalizo en ' + event.elapsedTime + ' segundos.');
  };
  speechSynthesis.speak(msg);
</script>

Mas información:

Parte 6: Voz - Reconocimiento con la API de Voz Web

1. Introducción
Mientras la síntesis consiste en reproducir un texto en forma hablada (emisión o salida de voz), el reconocimiento de voz consiste en capturar la voz y convertirla en texto (captura o entrada de voz). Para lo cual también se usa Web Speech API desarrollado por Google e implementado en Chrome.

2. Clase SpeechRecognition
Es la principal clase para el reconocimiento de voz y tiene los siguientes miembros:
·         Propiedades: grammars, lang, continuous, interimResults, maxAlternatives y serviceURI.
·         Métodos: start, stop y abort.
·         Eventos: audiostart, soundstart, speechstart, speechend, soundend, audioend, result, nomatch, error, start y end.

3. Clase SpeechRecognitionError
Esta clase contiene información sobre los errores del reconocimiento de voz. Es usada por el evento "error" del objeto SpeechRecognition. Contiene solo 2 propiedades o atributos:
·         error: Su propiedad principal es errorCode que es una enumeración con los valores no-speech, aborted, audio-capture, network, not-allowed, service-not-allowed, bad-grammary language-not-supported.
·         message: Mensaje de error especifico del reconocimiento de voz. Puede variar por navegador.

4. Ejemplo de Reconocimiento
<script>
    var recognition = new webkitSpeechRecognition();
    recognition.continuous = true;
    recognition.interimResults = false;
    recognition.onresult = function(event) {
      var rpta = event.results[event.results.length-1][0].transcript;
      alert(rpta);
    };
    recognition.lang = "es-PE";
    recognition.start();
</script>
Nota: Para ejecutar cualquier ejemplo de Reconocimiento de Voz es necesario tener un Micrófono conectado, además por seguridad no acepta ejecución local sino en un servidor, por ejemplo IIS, Apache, etc. No olvidar que solo corre en Google Chrome.

5. Ingresos de Textos por Voz
En HTML5 podemos realizar el ingreso de texto por voz, tan solo aumentando el atributo "x-webkit-speech" a los input type="text", tal como se muestra abajo:
<input type="text" x-webkit-speech>
Nota: Aparecerá un icono con un micrófono, dar clic y empezar a hablar, lo que se pronuncie se escribirá sobre dicho texto. Recordar que por ahora solo está disponible en Chrome.

Más información:

Parte 7: Conclusión y Comentarios

En este artículo de 6 partes tratamos sobre Multimedia en HTML5, en la primera parte vimos como trabajar con el elemento <audio> para reproducir archivos de sonido, en la segunda parte tratamos de como programar audio usando las APIs de audio: Audio Data API de Mozilla (solo para Firefox) y Web Audio API que es estándar W3C.

En la tercera parte tratamos sobre como Reproducir archivos de Video usando el elemento <video> y en la cuarta parte vimos como programar tanto el audio como el video usando la API de Javascript para Multimedia.

Finalmente, en los 2 últimas partes tratamos sobre Voz, usando la Web Speech API de Google disponible solo para Chrome hasta que se convierta en estándar W3C, primero mostramos como hacer síntesis (texto a voz) y luego como hacer reconocimiento (voz a texto).

Sin duda, un tema muy interesante que ya está usándose en Aplicaciones Web Comerciales y también en Juegos. Audio y Video ya son estándares, Voz muy pronto lo será y lo mejor sería adelantarnos a lo que viene.