/// <summary> /// 扫描路径path的媒体文件,将它加入媒体库中;或者如果该文件以及被删除,则通知媒体库移除该文件。 /// 媒体库包括相册、音乐库等,因此该函数可以用于把某个图片文件加入相册。 /// </summary> /// <param name="path">媒体文件路径</param> public void scanFile(string path) { var mimeType = MimeTypes.FromFileOr(path, null); var p = PFiles.Path(path); _scannerConnection.ScanFile(p, mimeType); }
/// <summary> /// 读取在路径path的图片文件并返回一个Image对象。如果文件不存在或者文件无法解码则返回null。 /// </summary> /// <param name="path">图片路径</param> /// <returns></returns> public ImageWrapper read(string path) { path = PFiles.Path(path); var bitmap = BitmapFactory.DecodeFile(path); return(ImageWrapper.OfBitmap(bitmap)); }
/// <summary> /// 把图片image以PNG格式保存到path中。如果文件不存在会被创建;文件存在会被覆盖。 /// </summary> /// <param name="image">图片</param> /// <param name="path">路径</param> /// <param name="format">图片格式,可选的值为:png,jpeg/jpg,webp</param> /// <param name="quality">图片质量,为0~100的整数值</param> /// <returns></returns> /// <exception cref="Exception"></exception> public bool save(ImageWrapper image, string path, string format, int quality) { var compressFormat = ParseImageFormat(format); if (compressFormat == null) { throw new Exception("unknown format " + format); } var outputStream = new FileStream(PFiles.Path(path), FileMode.CreateNew); return(image.Bitmap.Compress(compressFormat, quality, outputStream)); }
/// <summary> /// 播放音乐文件path。该函数不会显示任何音乐播放界面。如果文件不存在或者文件不是受支持的音乐格式,则抛出UncheckedIOException异常。 /// </summary> /// <param name="path">音乐文件路径。</param> /// <param name="volume">播放音量,为0~1的浮点数,默认为1</param> /// <param name="looping">是否循环播放,如果looping为true则循环播放,默认为false。</param> /// <exception cref="LuaException"></exception> public void playMusic(string path, float volume = 1.0f, bool looping = false) { path = PFiles.Path(path); if (_mediaPlayer == null) { _mediaPlayer = new MediaPlayerWrapper(); } _mediaPlayer.StopAndReset(); try { _mediaPlayer.SetDataSource(path); _mediaPlayer.SetVolume(volume, volume); _mediaPlayer.Looping = looping; _mediaPlayer.Prepare(); } catch (Exception e) { throw new LuaException(e.Message); } _mediaPlayer.Start(); }
/// <summary> /// 返回相对路径对应的绝对路径。例如files.path("./1.png"),如果运行这个语句的脚本位于文件夹"/sdcard/脚本/"中,则返回"/sdcard/脚本/1.png"。 /// </summary> /// <param name="relativePath">相对路径</param> /// <returns></returns> public string path(string relativePath) { return(PFiles.Path(relativePath)); }