core
    正在准备搜索索引...

    接口 YmxMedia

    媒体

    interface YmxMedia {
        chooseMedia(data: ChooseMediaData): Promise<ChooseMediaResult>;
        compressImage(data: CompressImageData): Promise<CompressImageResult>;
        compressVideo(data: CompressVideoData): Promise<CompressVideoResult>;
        getImageInfo(data: GetImageInfoData): Promise<GetImageInfoResult>;
        getVideoInfo(data: GetVideoInfoData): Promise<GetVideoInfoResult>;
        saveImageToPhotosAlbum(data: SaveMediaToPhotosAlbumData): Promise<void>;
        saveVideoToPhotosAlbum(data: SaveMediaToPhotosAlbumData): Promise<void>;
    }

    层级 (查看层级一览)

    索引
    • 拍摄或从手机相册中选择图片或视频

      参数

      返回 Promise<ChooseMediaResult>

      await ymx.chooseMedia({
      // 相册
      sourceType: ['album'],
      // 选一个
      count: 1,
      // 图片
      mediaType: ['image']
      });

      await ymx.chooseMedia({
      // 拍照
      sourceType: ['camera'],
      // 后置摄像头
      camera: 'back',
      mediaType: ['image']
      });

      await ymx.chooseMedia({
      // 拍照
      sourceType: ['camera'],
      // 前置摄像头
      camera: 'front',
      // 视频
      mediaType: ['video']
      });
    • 压缩图片,可选压缩质量。

      参数

      返回 Promise<CompressImageResult>

      //从相册选图
      const choose = await ymx.chooseMedia({
      mediaType: ['image'],
      count: 1
      });
      //压缩图片
      const newImage = await ymx.compressImage({
      src: choose.tempFiles[0].tempFilePath,
      quality: 85,
      compressedWidth: 720
      });
      //获取新的图片信息
      await ymx.getImageInfo({
      src: newImage.tempFilePath
      });
    • 压缩视频,可指定压缩质量 quality 进行压缩。

      参数

      返回 Promise<CompressVideoResult>

      //从相册选视频
      const choose = await ymx.chooseMedia({
      mediaType: ['video'],
      count: 1
      });
      //压缩视频
      await ymx.compressVideo({
      src: choose.tempFiles[0].tempFilePath,
      quality: 'medium',
      filePath: 'fs://temp/video.mp4'
      });
    • 获取图片信息

      参数

      返回 Promise<GetImageInfoResult>

      // 从相册选图
      const choose = await ymx.chooseMedia({
      mediaType: ['image'],
      count: 1
      });
      // 获取图片信息
      await ymx.getImageInfo({
      src: choose.tempFiles[0].tempFilePath
      });
    • 获取视频详细信息

      参数

      返回 Promise<GetVideoInfoResult>

      //从相册选视频
      const choose = await ymx.chooseMedia({
      mediaType: ['video'],
      count: 1
      });
      //获取视频信息
      await ymx.getVideoInfo({
      src: choose.tempFiles[0].tempFilePath
      });
    • 保存图片到系统相册

      返回 Promise<void>

      //本地临时文件路径
      const localFile = 'fs://temp/img.jpg';
      try {
      //下载图片
      await ymx.downloadFile({
      url: 'https://i.yimenyun.net/sys/2.jpg',
      filePath: localFile
      });
      alert('已下载,即将保存到相册。');
      //保存到相册
      await ymx.saveImageToPhotosAlbum({
      filePath: localFile
      });
      alert('已保存到相册');
      } catch (err) {
      alert(err.message);
      } finally {
      //删除临时文件
      const fs = ymx.getFileSystemManager();
      if (await fs.exist({ path: localFile })) {
      await fs.remove({ path: localFile });
      }
      }
    • 保存视频到系统相册

      返回 Promise<void>

      //本地临时文件路径
      const localFile = 'fs://temp/video.mp4';
      try {
      //下载视频
      await ymx.downloadFile({
      url: 'http://cdn.myapp.ltd/sys/sunflower.mp4',
      filePath: localFile
      });
      alert('已下载,即将保存到相册。');
      //保存到相册
      await ymx.saveVideoToPhotosAlbum({
      filePath: localFile
      });
      alert('已保存到相册');
      } catch (err) {
      alert(err.message);
      } finally {
      //删除临时文件
      const fs = ymx.getFileSystemManager();
      if (await fs.exist({ path: localFile })) {
      await fs.remove({ path: localFile });
      }
      }