MediaPlayer主要属性

MediaPlayer常用方法详细介绍 MediaPlayer常用方法介绍 方法: getCurrentPosition() 解释:返回值为Int, 得到当前播放位置 方法:getDuration() 解释:返回值为Int ,得到文件的总时长 方法:getDuration() 解释:返回值为Int ,得到视频的时间 方法:getVideoHeight() 解释:返回值为Int,得到视频的高度 方法:getVideoWidth() 解释:返回 值为Int,得到视频的宽度 方法:isLooping() 解释:返回值为 boolean ,是否循环播放 阅读详情
主要涉及类:MediaPlayer
(1) 当一个MediaPlayer对象被创建或者调用reset()方法之后,它处于空闲状态,调用release()方法后处于结束状态
1,一个MediaPlayer对象调用了reset()方法后,再调用其它方法可能会触发OnErrorListener.onError()事件,未调用reset()方法则不会触发
2,当Mediaplayer对象不再被使用时,最好调用release()方法对其进行释放,使其处于结束状态,此时它不能被使用
3,Mediaplayer对象被创建时(调用构造方法)处于空闲状态,若使用create()方法创建后则处于准备状态。
(2) 一般情况下,一些常用的播放控制操作可能因为音频、视频的格式不被支持或者质量较差以及流超时,也有可能由于开发者的疏忽使得Mediaplayer对象处于无效状态等而导致错误。此时可通过注册setOnErrorListener方法实现监控。如果发生了错误,Mediaplayer对象将处于多雾状态,可以使用reset()方法来回复错误。
(3) 任何Mediaplayer对象都必须先处于准备状态,然后才开始播放
(4) 要开始播放Mediaplayer对象都必须成功调用start()方法,可通过isPlaying()方法来检测是否正在播放
(5) 当Mediaplayer对象在播放时,可以进行暂停和停止操作,pause()方法暂停播放,stop()方法停止播放。处于暂停暂停时可通过start()方法恢复播放,但是处于停止状态时则必须先调用prepare()方法使其处于准备状态,再调用start()方法。
主要方法:
Mediaplayer:构造方法
create:        创建一个要播放的多媒体
getCurrentPosition:得到当前播放位置
getDuration:    得到文件的时间
prepare:    准备(同步)
prepareAsync:准备(异步)
seekTo:        指定播放的位置(以毫秒为单位)
setAudioStreamType:    设置流媒体的类型
setDataSource:    设置数据来源
setDisplay:        设置用SurfaceHolder来显示多媒体
setOnBufferingUpdateListener:    网络流媒体的缓冲监听
setOnErrorListener:            设置错误信息监听
setOnVideoSizeChangedListener:视频尺寸监听
setScreenOnWhilePlaying:        设置是否使用SurfaceHolder来显示
setVolume:                    设置音量
//获取sd卡上的音频文件
setDataSource(“/sdcard/test.mp3”);
//装载资源中的音乐
MediaPlayer.create(Activity01.this,R.raw.test);
//目前存在问题,不能循环解析出音频文件
原因:.android_secure文件夹受保护,无法获取里面的文件信息
播放视频
相关类:VideoView
方法说明:
getBufferPercentage:得到缓冲的百分比
getCurrentPosition:得到当前播放位置
getDuration:得到视频文件的时间
resolveAdjustedSize:调整视频显示大小
setMediaController:设置播放控制器模式(播放进度条)
setOnCompletionListener:当视频文件播放完时触发事件
setVideoPath:设置视频源路径
setVideoURI:设置视频源地址
录音
相关类:MediaRecorder
方法说明:
MediaRecorder:构造方法
getMaxAmplitude:得到最大幅度
setAudioEncoder:设置音频编码
setAudioSource:设置音频源
setCamera:设置摄像机
setMaxDuration:设置最长录音时间
setMaxFileSize:设置文件的最大尺寸
setOutputFile:设置输出文件
setOutputFormat:设置输出文件格式
setPreviewDisplay:设置预览
setVideoEncoder:设置视频编码
setVideoFrameRate:设置视频帧的频率
setVideoSize:设置视频的宽度和高度(分辨率)
setVideoSource:设置视频源

File类下的方法:
public static File createTempFile(String prefix, String suffix, File directory)
Creates an empty temporary file in the given directory using the given prefix and suffix as part of the file name.
系统会自动在prefix和suffix之间加上一些数字来构建完整的文件名

实现录音的一般步骤:
1, 实例化MediaRecorder mr,调用构造方法
2, 初始化mr:mr.setAudioSource(MIC)/setVideoSource(CAMERA)
3, 配置DataSource:设置输出文件格式/路径,编码器等
4, 准备录制:mr.prepare()
5, 开始录制:mr.start()
6, 停止录制:mr.stop()
7, 释放资源:mr.release()
注:2,3不可调换顺序
添加许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO">
相机设置
相关类:Camera,它是专门用来连接和断开相机服务的类
Camera的几个事件:
Camera.AutoFocusCallback:    自动调焦功能
Camera.ErrorCallback:        错误信息捕捉
Camera.Parameters:        相机的属性参数
Camera.PictureCallback:    拍照、产生图片时触发
Camera.PreviewCallback:    相机预览设置
Camera.ShutterCallback:    快门设置
Camera.Size:                图片的尺寸
Camera类没有构造方法,可通过open()方法来打开相机设备
Camera类的方法介绍:
autoFocus:        设置自动对焦
getParameters:    得到相机参数
open:            启动相机服务
release:            释放相机服务
setParameters:    设置参数
setPreviewDisplay:设置预览
startPreview:    开始预览
stopPreview:        停止预览
takePicture:        拍照
注:takePicture方法要实现3个回调函数作为它的三个参数:Camera.ShutterCallback(快门),和两个Camera.Picture.Callback(图像数据)。
需要许可
<uses-permission android:name="android.permission.CAMERA" />   
若要将图片存储至sd卡中,则需要sd卡读写许可

目前存在问题:只能拍照一次,不能重新回到预览界面

闹钟设置
相关类:AlarmManager,它是专门用来设定在某个指定的时间去完成指定的事件。AlarmManager提供了访问系统警报的服务,只要在程序中设置了警报服务,AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可通过Context.getSystemService(ALARM_SERVICE)方法来获得该服务。
方法说明:
cancel:    取消AlarmManager服务
set:    设置AlarmManager服务
setInexactRepeating:设置不精确周期
setRepeating:设置精确周期
setTimeZone:设置时区
注:需创建一个BroadcastReceiver的子类,并覆盖onReceive()方法
铃声设置
系统自带的铃声都放在/system/medio/audio/文件夹中
铃音类型: TYPE_RINGTONE(来电铃音),TYPE_ALARM,TYPE_NOTIFICATION
相关类:RingtoneManager
方法介绍:
getActualDefaultRingtoneUri:取得指定类型的铃声
getCursor:返回所有可用铃声的游标
getDefaultType:得到指定URI默认的铃声类型
getRingtone
getRingtonePosition:得到铃声位置
getRingtoneUri
getValidRingtoneUri:得到一个可用铃声的URI
isDefault:得到指定的Uri是否为默认的铃声
setActualDefaultRingtoneUri:设置默认的铃声

获取的Cursor共有4列,列名依次为:_id,title,”content://media/internal/audio/media”,title_key

以设置手机铃音为例:
if (isFolder(strRingtongFolder)) {//如果不存在该文件夹则创建一个
                // 打开系统铃声设置
                Intent intent = new Intent(
                        RingtoneManager.ACTION_RINGTONE_PICKER);
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI, true);
                // 类型为来电ringtong
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
                        RingtoneManager.TYPE_RINGTONE);
                // 设置显示的题目
                intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置来电的铃声");
                // 当设置完成之后返回到当前的activity
                startActivityForResult(intent, RingtongButton);
            }

然后复写onActivityResult(int requestCode, int resultCode, Intent data)方法,resultCode就是点击设置dialog的按钮编号,需要判断是否点击了确认按钮

if (resultCode != RESULT_OK) {
            return;
        }
            try {
                // 得到我们选择的铃声
                Uri pickedUri = data                        .getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
                // 将我们选择的铃声选择成默认
                if (pickedUri != null) {
                    RingtoneManager.setActualDefaultRingtoneUri(
                            Media_RingTongActivity.this,
                            RingtoneManager.TYPE_RINGTONE, pickedUri);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } 

Android 入门宝典 - MediaPlayer & VideoView 参考:MediaPlayer详解和使用 mMediaPlayer.reset(); // 设置到 Idle(空闲)状态,是未 setDataSource 的状态 mMediaPlayer.setDataSource(file.getPath()); // 指定音频文件的路径,设置到 Initialized(初始化)状态——准备状态之前,可以通过 prepare() 或 prepareAsync(... 阅读详情

相关推荐

Android之MediaPlayer详解,详细的Android学习指南

我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案。

m0_60147147的博客 1936

android Mediaplayer各种属性和方法简单介绍

主要涉及类:MediaPlayer (1) 当一个MediaPlayer对象被创建或者调用reset()方法之后,它处于空闲状态,调用release()方法后处于结束状态 1,一个MediaPlayer对象调用了reset()方法后,再调用其它方法可能会触发OnErrorListener.onError()事件,未调用reset()方法则不会触发 2,当Mediaplayer对象不再被使用时

android小天地 3805

用c++builder6.0开发小闹钟(用于提醒自己不要盯着屏幕太久)

基本要求:设想是有两个时间:专注时间和休息时间,这两个是可以设置的。专注时间一到,音乐响起,然后就停下手上的工作,休息;紧接其后,休息时间一到,相关的音乐响起,继续回来工作。

tcajian的博客 1017

MediaPlayer的reset()方法的作用

MediaPlayer的reset()方法经常使用,但具体为什么要用却不是很明白,今天看MediaPlayer的API说明,才知道是为了重用MediaPlayer对象。 在MediaPlayer的API说明中有如下内容: In order to reuse a MediaPlayer object that is in the Error state and recover from

蓝蓝的天 2万+

MediaPlayer控件属性描述

播放: MediaPlayer.Play() 暂停: MediaPlayer.Pause() 定位: MediaPlayer.SetCurrentEntry(lWhichEntry) MediaPlayer.Next() MediaPlayer.Previous() 循环: MediaPlayer.PlayCount = 0 0:the clip plays repeate

teresa502的专栏 9954

Waymo数据集里的隐藏彩蛋:5个激光雷达数据融合实战(附Python代码)

本文深入解析Waymo数据集中5个激光雷达的数据融合技术,提供Python实战代码,帮助开发者掌握多传感器协同工作的关键方法。通过时间同步、坐标转换和运动补偿等技术,实现高精度3D场景重建,提升自动驾驶系统的环境感知能力。

weixin_30399821的博客 80

Delphi 多媒体(TMediaplayer 1)

VCL为简单多媒体操作提供MediaPlayer组件。 该组件可播放Wave文件、MIDI文件、AVI视频等等。如果只是简单的播放Wave文件,常常使用上一讲中的PlaySound函数。也可以使用更复杂的MediaPlayer组件。   窗体上显示出播放的控制按钮,控制按钮包括play、pause、stop、next、previous、step、back、record、eject。如上图中。

流年~~ 2844

教你读懂techpoint视频解码芯片tp2855规格书(第一部分)

所有的控制环都是可编程的,以实现最大化的灵活性。对于NTSC/PAL输入,输出时钟和采样结构是非标准的,以便在多路复用输出时与HD格式一同工作。所有通道的音频数据都可以选择性地级联,以实现最大的灵活性。TP2855是一款通用的高清/标清视频解码器芯片,其支持对HD-TVI、NTSC/PAL制式960H分辨率及普通AHD视频格式的解码。TP2855具有内部钳位,在每个通道上都有自动增益控制放大器,用于最佳的信号调节。即使在使用低质量和长线缆的条件下,它的可编程均衡放大器和自动控制环也能维持尚佳的表现。

hufan92的博客 4918

Android API学习 SoundPool 和 MediaPlayer

Android平台中关于音频播放有以下两种方式:   1. SoundPool —— 适合短促且对反应速度比较高的情况(游戏音效或按键声等)   2. MediaPlayer —— 适合比较长且对时间要求不高的情况   ---------------------------------------------------------------------------------------

bigapple88的专栏 1535

命令行执行YOLO训练命令报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error#15: Initializing libiomp5md.dll...

(已解决!)报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

Gpengyuyan的博客 1124

从厘米级到公里级:北斗网格10级精度在ArcPro中的完整应用指南

本文提供了北斗网格十级精度体系在ArcGIS Pro中的完整应用指南。详细解析了从660公里到1.5厘米的十级网格尺度及其编码逻辑,并重点演示了如何在ArcPro中生成网格、计算编码,以及根据项目需求(如滑坡监测)选择合适精度层级的实战策略。指南旨在帮助GIS专业人士利用这套统一的网格框架,高效管理多尺度空间数据并优化分析工作流。

Black的专栏 471

Delphi多媒体设计之TMediaPlayer组件(一)

VCL为简单多媒体操作提供MediaPlayer组件。该组件位于选项板组件System中。 该组件可播放Wave文件、MIDI文件、AVI视频等等。如果只是简单的播放Wave文件,常常使用上一讲中的PlaySound函数。也可以使用更复杂的MediaPlayer组件。 TMediaPlayer组件最简单的使用方法就是将其拖放到窗体上。如下图: 窗体上显示出播放的控制按钮,控制按钮包括...

weixin_30500289的博客 98

Android PMS——概述(一)

PMS(Package Manager Service)是 Android 操作系统的一个重要组件,它负责管理应用程序的包信息以及与应用程序的安装、卸载、权限控制等相关功能,确保应用程序的安全性和稳定性。 Android PMS 负责维护一个应用程序包的清单信息,该清单是一个 XML 文件,包含应用程序的各种元数据,例如应用程序的包名、版本号、权限要求、组件信息等。PMS通过访问该清单文件来获取应用程序的信息。 此外,Android PMS 还负责应用程序的安装和卸载。在安装应用

小旭的专栏 1667

基于MFC的Media Player播放器的制作介绍

|版权声明:本文为博主原创文章,未经博主允许不得转载。   因为这次多媒体课程设计做一个基于MFC的播放器,因为本人实力太菜,需要播放音乐或视频文件时候,自己写不出解码 函数,所以准备使用第三方多媒体库或是第三方控件辅助播放,找来找去还是觉得用Windows Media Player控件来编写比较 方便,因此这次播放器的制作主要是根据Media Player控件来实现,因为在微软...

weixin_30246221的博客 455

069_死区效应对输出电压畸变的补偿思路

死区效应导致逆变器输出电压在过零点出现台阶畸变,引发THD升高。其本质是死区期间续流二极管钳位造成的非线性误差,与电流方向、负载大小、母线电压耦合。补偿需结合前馈(基于电流方向自适应调整偏置)与反馈(抑制残余谐波),关键在于准确判断电流方向(采用滞环滤波避免跳变)、合理设置补偿量(随负载动态调整),并注意补偿位置、极性及限幅防漂移。调试应通过差分探头、FFT频谱等手段验证效果,最终实现全负载范围内的低畸变输出。

2401_88858637的博客 21

3D点云-CVPR 2020-PF-Net: Point Fractal Network for 3D Point Cloud Completion

是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像素点与原来像素点比较完成模型的训练。而PF-Net就是采用GAN的思想在3D点云上的应用。

404 Not Found 2369

记一次qml获取rtsp流在release模式下无法铺满整个屏幕问题

在使用qml的MediaPlayer和VideoOutput播放rtsp视频流时,出现debug模式下可以铺满整个屏幕和release模式下视频图像侧边留白的问题,很诧异,明明是同一份代码,难道是编译器优化的结果?Sreen.desktopAvailableWidth :组成虚拟桌面的屏幕集合的可用宽度,以像素为单位,不包括窗口管理器保留的区域,如任务栏和系统菜单。于是在VideoOutput中强行设置width和heigh,这里应该根据系统的屏幕大小来设置,qml中可以通过Screen来获取。

后知后觉 532

RK平台内核“大瘦身”:从4GB到500MB的蜕变之旅

摘要:本文详细介绍了RK平台内核裁剪的完整流程与技术要点。通过对RK3568/RK3588等SoC平台的分析,探讨了从初始4GB内核精简至500MB的具体方法。文章系统阐述了前期硬件环境搭建、软件工具准备、SDK源码获取等准备工作,深入解析了内核模块组成及可裁剪部分,并提供了图形化配置界面的详细操作指南。同时,对编译烧录过程和常见问题解决方案进行了说明,强调了备份和谨慎选择裁剪项的重要性。最后展望了内核裁剪技术在物联网和边缘计算等领域的应用前景,为开发者提供了实用的内核优化参考方案。(148字)

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 443

音频播放

Android平台中关于音频播放有以下两种方式:   1. SoundPool —— 适合短促且对反应速度比较高的情况(游戏音效或按键声等)   2. MediaPlayer —— 适合比较长且对时间要求不高的情况   ---------------------------------------------------------------------------------------

javaswitch的专栏 462

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JS控制Mediaplayer属性和方法

播放: MediaPlayer.Play() 暂停: MediaPlayer.Pause() 定位: MediaPlayer.SetCurrentEntry(lWhichEntry)       MediaPlayer.Next()       MediaPlayer.Previous() 循环: MediaPlayer.PlayCount = 0 0:the clip plays repeate

Aendo的专栏 2548

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MediaPlayer属性大全

播放: MediaPlayer.Play() 暂停: MediaPlayer.Pause() 定位: MediaPlayer.SetCurrentEntry(lWhichEntry)       MediaPlayer.Next()       MediaPlayer.Previous() 循环: MediaPlayer.PlayCount = 0 0:the clip p

wubiandean的专栏 1195

C#中MediaPlayer的基本属性

MediaPlayer.URL 播放歌曲的地址 MediaPlayer.Ctlcontrols.play();让歌曲播放 MediaPlayer.Ctlcontrols.pause();歌曲暂停 MediaPlayer.settings.volume 播放器的声音(0~100); MediaPlayer.settings.mute = true;静音功能 MediaPlayer.Ctlcontr...

贺天远 廊坊师范学院信息技术提高班十五期 543

Android mediaPlayer属性详解

一、首先说一下mediaplayer的状态 空闲状态:当mediaplayer对象背创建或者调用reset()之后 准备状态:调用create()之后 结束状态:调用release() 二、mediaplayer使用流程 1、首先创建一个mediaplayer对象:private MediaPlayer mediaPlayer = new MediaPlayer(); 2、mediap

yx511024的博客 1282

Android_视频播放

1、xml添加控件 在SurfaceView控件上,能够存放视频等资源 2、初始化控件及操作工具属性 SurfaceHolder封装SurfaceView的回调函数 MediaPlayer设置视频的基本属性—>(循环,暂停,开始等) 本类实现回调函数后覆写三个方法 覆写方法: surfaceCreated在surfaceView显示时调用该方法,可以在此方法中初始化

itszt888的博客 342
上一篇: 下拉刷新上拉加载
下一篇: 字符串转成流
有志青年L
博客等级 码龄10年 30粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值