@capacitor-community/media

Enable some media features for Capacitor such as create albums, save videos, gifs and more.

Usage no npm install needed!

<script type="module">
  import capacitorCommunityMedia from 'https://cdn.skypack.dev/@capacitor-community/media';
</script>

README


Capacitor Media

@capacitor-community/media

Capacitor community plugin for enabling extra media capabilities


Maintainers

Maintainer GitHub Social
Stewan Silva stewwan @StewanSilva

Notice 🚀

We're starting fresh under an official org. If you were using the previous npm package capacitor-media, please update your package.json to @capacitor-community/media. Check out changelog for more info.

Installation

Using npm:

npm install @capacitor-community/media

Using yarn:

yarn add @capacitor-community/media

Sync native files:

npx cap sync

API

  • savePhoto
  • saveVideo
  • saveGif
  • createAlbum
  • getAlbums
  • getMedias only ios for now

Usage

import { Media } from '@capacitor-community/media';
const media = new Media();

//
// Save video to a specfic album
media
  .saveVideo({ path: '/path/to/the/file', album: 'My Album' })
  .then(console.log)
  .catch(console.log);

//
// Get a list of user albums
media
  .getAlbums()
  .then(console.log) // -> { albums: [{name:'My Album', identifier:'A1-B2-C3-D4'}, {name:'My Another Album', identifier:'E5-F6-G7-H8'}]}
  .catch(console.log);

Disclaimer

Make sure you pass the correct album parameter according to the platform

album: this.platform.is('ios') ? album.identifier : album.name;

iOS setup

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install —-save @capacitor-community/media
  • mkdir www && touch www/index.html
  • npx cap add ios
  • npx cap open ios
  • sign your app at xcode (general tab)

Tip: every time you change a native code you may need to clean up the cache (Product > Clean build folder) and then run the app again.

Android setup

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install —-save @capacitor-community/media
  • mkdir www && touch www/index.html
  • npx cap add android
  • npx cap open android
  • [extra step] in android case we need to tell Capacitor to initialise the plugin:

on your MainActivity.java file add import com.getcapacitor.community.media.MediaPlugin; and then inside the init callback add(MediaPlugin.class);

Now you should be set to go. Try to run your client using ionic cap run android --livereload.

Tip: every time you change a native code you may need to clean up the cache (Build > Clean Project | Build > Rebuild Project) and then run the app again.

Example

License

MIT

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Stew

💻 📖

Zachary Keeton

💻

This project follows the all-contributors specification. Contributions of any kind welcome!