Skip to content

This plugin is for accessing files from storage & capturing media like photo, audio, video etc.

License

Notifications You must be signed in to change notification settings

pravinkumarputta/nativescript-nativemediapicker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nativescript-nativemediapicker

A complete media picker solution for NativeScript. You will be able to pickup any types of file. Capturing image, video & audio are supported.

Note: For iOS this plugin is in under development, it contains dummy methods for ios return error :)

Features:

  • Image, Video, Audio & custom file picker.
  • Capturing Image, Video and Audio from APP directly.
  • Custom files like pdf, text etc support.
  • Single or Multiple selections.
  • More...

Limitations

  • Now, only supported for android.

Installation

tns plugin add nativescript-nativemediapicker

Android Permissions Required

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="true" />

Add FileProvider to support (>=Android N) (create file_paths.xml in "app\App_Resources\Android\src\main\res\xml" & copy-paste following code)

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <files-path path="demo/" name="myfiles" />
    <external-path name="mediafiles" path="." />
</paths>

Add FileProvider tag to application tag in AndroidManifest.xml

<provider android:name="android.support.v4.content.FileProvider" android:authorities="{applicationId}.provider" android:grantUriPermissions="true" android:exported="false">
    <meta-data android:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/file_paths" />
</provider>

Usage (Please check demo project for details)

Import

JavaScript:

var nativemediapicker = require("nativescript-nativemediapicker");

TS:

import { Nativemediapicker } from 'nativescript-nativemediapicker';

File Picker

// replace first parameter with your mime type
Nativemediapicker.pickFiles("image/*",
    function(res){
		console.log(res);
	},
    function(err){
		console.log(err);
	});

Capture Image

// registerFileProvider is needed to capture image
Nativemediapicker.registerFileProvider(
      application.android.currentContext.getPackageName() +
        ".provider"
    );
Nativemediapicker.takePicture(
    function(res){
		console.log(res);
	},
    function(err){
		console.log(err);
	});

Capture Video

Nativemediapicker.recordVideo(
    function(res){
		console.log(res);
	},
    function(err){
		console.log(err);
	});

Capture Audio

Nativemediapicker.recordAudio(
    function(res){
    	console.log(res);
    },
    function(err){
    	console.log(err);
    });

Screenshots

Android

Android Android Android

License

Apache License Version 2.0, January 2004

About

This plugin is for accessing files from storage & capturing media like photo, audio, video etc.

Resources

License

Stars

Watchers

Forks

Packages

No packages published