Media Types
phone-glass We need more research!
The information on this page is incomplete and/or unconfirmed, and requires more research. You can help by collecting information from other resources or by testing on your own devices.

KaiOS has some strange behaviour with different types of media.

General

  • Long media files stored in application data may inadvertently stop during playback.

Image Files

Support

Filetypes not listed are untested. This applies to all "Support" sub-sections.

Supported

  • PNG
  • APNG
  • JPEG
  • GIF

Unsupported

  • ?

Limitations

  • Despite what the native gallery app says, KaiOS can show absurd resolution images. The only problem is memory and load times.

GIF / APNG

Dynamically changing an <img>'s src from a still to an animated GIF or APNG may not work correctly - they might either be frozen on the first frame, or may not show at all.

Video Files

Support

Supported

  • 3GP
  • MP4
  • WEBM (With problems)

Unsupported

  • AVI
  • MKV

Limitations

  • Only videos up to 720p will show smoothly. 1080p videos will be choppy and very annoying to watch. The screen is only QVGA resolution only anyway, so just show a 360p or 480p video.

WEBM

WEBM files might not be able to be played again after it has ended if it is too long; exactly how long is uncertain, and appears to depend on each device or file. Setting loop to true does not work. Removing the video element entirely and re-adding will allow you to play the file again.

Audio Files

Support

Supported

  • OGG
  • MP3
  • OPUS
  • M4A
  • WAV
  • MIDI

Unsupported

  • FLAC

Limitations

  • There is a bug in the native music app that will not allow users to choose a song if there is a fatal error in trying to render the album art. You don't have to worry about this too much, as this is very rare.

MIDI

Just a small note about MIDI: You can render a MIDI through an OfflineAudioContext.

Fake Support

You can add support for unsupported files. For example, you can read up on how an unsupported file is structured, and then parse that data and convert it to a supported format on the fly. For example you can play an FLAC file through an AudioContext, or play a AVI through a canvas. See arma7x/kaimusic as an example for music files.

See also

Media
Wakelock

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License