在 NativeScript + Vue 中读取 ID3 标签
reading ID3 tag in NativeScript + Vue
我正在尝试读取我项目中 mp3 文件的 id3 标签,但似乎所有节点插件都依赖于 fs
,
因为我得到这个错误:TypeError: fs.exists is not a function
所以如何在 NativeScript 中读取 id3 标签?
你可以试试nativescript-nodeify, but I remember having problem afterwards with with bundling。
此外,我在 NativeScript 4 中使用了它。我不知道它是否仍然适用于 NS 6。
{N} !== Node,您必须以原生 iOS / Android 方式获取元数据。使用 nativescript-media-metadata-retriever 插件。
tns plugin add nativescript-media-metadata-retriever
我分享这个模块的用法是为了像我这样的菜鸟,他们可能会因为一个误解而浪费他们的时间:))
要求:
import { MediaMetadataRetriever } from "nativescript-media-metadata-retriever";
const imageSourceModule = require( "tns-core-modules/image-source" );
const fs = require("tns-core-modules/file-system");
和代码:
// ------- init MediaMetadataRetriever
let mmr = new MediaMetadataRetriever();
mmr.setDataSource( newValue );
mmr.getEmbeddedPicture()
.then( ( args ) => {
// ------- show the albumArt on bgIMG
var albumArt = this.$refs.bgIMG.nativeView;
var img = new imageSourceModule.ImageSource();
// ------- setNativeSource is a **Methods** of imageSourceModule
img.setNativeSource( args );
albumArt.set( "src" , img );
console.log("ImageSource set...");
// ------- save the albumArt in root of SDCARD
// ------- fromNativeSource is a **Function** of imageSourceModule
let imageSource = imageSourceModule.fromNativeSource( args );
console.log("Here");
let fileName = "test.png";
const root = android.os.Environment.getExternalStorageDirectory().getAbsolutePath().toString();
let path = fs.path.join( root , fileName);
let saved = imageSource.saveToFile(path, "png");
if (saved) {
console.log("Image saved successfully!");
}
} );
我正在尝试读取我项目中 mp3 文件的 id3 标签,但似乎所有节点插件都依赖于 fs
,
因为我得到这个错误:TypeError: fs.exists is not a function
所以如何在 NativeScript 中读取 id3 标签?
你可以试试nativescript-nodeify, but I remember having problem afterwards with with bundling。
此外,我在 NativeScript 4 中使用了它。我不知道它是否仍然适用于 NS 6。
{N} !== Node,您必须以原生 iOS / Android 方式获取元数据。使用 nativescript-media-metadata-retriever 插件。
tns plugin add nativescript-media-metadata-retriever
我分享这个模块的用法是为了像我这样的菜鸟,他们可能会因为一个误解而浪费他们的时间:))
要求:
import { MediaMetadataRetriever } from "nativescript-media-metadata-retriever";
const imageSourceModule = require( "tns-core-modules/image-source" );
const fs = require("tns-core-modules/file-system");
和代码:
// ------- init MediaMetadataRetriever
let mmr = new MediaMetadataRetriever();
mmr.setDataSource( newValue );
mmr.getEmbeddedPicture()
.then( ( args ) => {
// ------- show the albumArt on bgIMG
var albumArt = this.$refs.bgIMG.nativeView;
var img = new imageSourceModule.ImageSource();
// ------- setNativeSource is a **Methods** of imageSourceModule
img.setNativeSource( args );
albumArt.set( "src" , img );
console.log("ImageSource set...");
// ------- save the albumArt in root of SDCARD
// ------- fromNativeSource is a **Function** of imageSourceModule
let imageSource = imageSourceModule.fromNativeSource( args );
console.log("Here");
let fileName = "test.png";
const root = android.os.Environment.getExternalStorageDirectory().getAbsolutePath().toString();
let path = fs.path.join( root , fileName);
let saved = imageSource.saveToFile(path, "png");
if (saved) {
console.log("Image saved successfully!");
}
} );