2009-04-23 11 views
7

Estoy buscando alternativas al MPMoviePlayerController en el iPhone. Como reproductor de video, su funcionalidad es muy limitada. De acuerdo con el class reference, no hay forma de obtener el tiempo de reproducción actual o establecer un nuevo horario, por ejemplo. Es solo jugar y parar.MPMoviePlayerController alternatives on iPhone?

¿Existen soluciones de middleware para la reproducción de videos de iPhone que ofrecen más funcionalidades? CRI has something in development pero no ha sido lanzado. No he podido encontrar nada más.

Gracias.

+0

No estoy de ninguna manera apoyando MPMoviePlayerController, pero sí tiene una propiedad para "initialPlaybackTime". Dependiendo de su necesidad, esto combinado con las notificaciones Play/Finished y un temporizador/hilo puede proporcionar cierto grado de control adicional. ¡No es lindo sin embargo! :) –

Respuesta

3

Tenga en cuenta que, aunque un proyecto es GPL, eso no significa que no pueda contactar al autor sobre una opción LGPL en el código subyacente.

Una posible implementación de su propia solución sería utilizar OpenGL como una superficie de composición para el video y obtener una biblioteca detrás de escena como ffmpeg si necesita procesar tipos de video específicos.

NeHe tiene un ejemplo de la representación de AVI a OpenGL: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35

FFMpeg Recientemente se ha portado a iPhone y es un producto a base LGPL: http://geek.thinkunique.org/2008/03/05/ffmpeg-on-the-iphone/

(Nota: Existe un debate sobre el uso comercial de LGPL en iPhone porque la licencia hace referencia a la frase "dinámica" cuando se refiere a enlaces de bibliotecas, lo cual no permite el iPhone. No he visto ningún equipo de proyecto que rechace que su código se use en el iPhone estáticamente, pero debe ponerse en contacto directamente con los autores para aclaración.)

Otro (aunque GPL) versión de un reproductor de vídeo OpenGL es: http://code.google.com/p/glover/

lo que estás haciendo a través de una solución de este tipo es básicamente un bypass en los detalles técnicos específicos iPhone/Mac/CALayer y el aprovechamiento de una base de conocimiento existente de vídeo a través de OpenGL, que aunque no es extenso, todavía es ampliamente compatible.

Si está tratando con un estilo de video específico, entonces es posible que desee ver si una biblioteca está disponible para el formato de video específico directamente del vendedor en lugar de utilizar una herramienta multiuso como FFMpeg. Una vez que tenga la composición funcionando, el video puede provenir de la mayoría de las bibliotecas.

Barney

0

VLC ha sido ported to iPhone pero no utiliza el SDK oficial.

+0

Gracias por el aviso.Estoy buscando algo que pueda usar como desarrollador para la reproducción de videos en una aplicación personalizada y que no esté en una licencia GPL con más funciones que MPMoviePlayerController. El middleware que cuesta dinero está bien, simplemente no he podido encontrarlo. –

+0

hey mark y ryan, ¿fueron capaces de encontrar una manera de descodificar el video? o ser capaz de utilizar una convección tipo vlc? – keuminotti

+0

quién es Ryan? No estoy decodificando, solo dando consejos :-) –

2

Usted podría utilizar AVPlayer. Ver the documentation

Puede obtener el tiempo de reproducción actual con currentTime y buscar un tiempo especificado con seekToTime:.

Debe dirigir la salida visual de una instancia AVPlayer a un objeto AVPlayerLayer (subclase de CALayer). Vea el first listing here.