コード例 #1
0
ファイル: Media.cs プロジェクト: HeavenHeal/AutoLua
        /// <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);
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
        /// <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));
        }
コード例 #4
0
ファイル: Media.cs プロジェクト: HeavenHeal/AutoLua
        /// <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();
        }
コード例 #5
0
 /// <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));
 }