h5地理位置获取与多媒体

   1.地理位置获取

       在h5当中有现成的关于获取到地理位置的方法window.navigator.geolocation,在h5中当用户同意地理位置获取之后有几个方法是用来对地理位置进行处理的具体方法如下:

1.getCurrentPosition(s,e,p)  success 回调(必须) error回调  option 参数  
        使用chrome时需要进行翻墙才能获取到所需信息,如果获取数据成功了,
        position下面的几个参数
        latitude 纬度  longitude 经度  altitu 海拔   accurac 精确定位  altitudeAccuracy 海拔精确度  heading 方向 speed 速度
        positionError对象
        用户拒绝 code = 1  获取不到 code = 2 获取失败 code = 3
        options
        enableHighAccurary 是否获得高精度位置默认为false  timeout 单位是ms请求超过时间默认为inifite 
        maximumAge 单位ms,watchPosition方法则不断获取用户的地理位置信息,位置信息过期时间设置为0 表示无条件的获取新的地理位置信息

2.watchPosition
        var id = gelocation.watchPosition(fn) 用于注册监听器,在设备的地理位置发生改变的时候自动被调用 参数与getCurrentPosition相同
        clearWatch(id)使用clearWatch清除监听

3.devicemotion事件 监听加速度变化
        window.addEventLister('deviceMotion',function(event){
            consolo.log(event)
        })
        accelerationIncludingGravity(包含了地心引力,在Z轴上加上重力加速度g) 重力加速度
        acceleration 重力加速度(陀螺仪)
        rotationRate(alpha,beta,gamma) 旋转速率  alpha表示设备沿z轴上的旋转角度,范围0~360 beta表示设备在x轴上的旋转角度,范围-180~180,描述设备向前
        向后旋转     gamma  表示设备在y轴上的旋转角度,范围-90~90 描述设备左向右旋转                                      
        interval 获取时间间隔  以上属性均为只读属性

在下面有个关于h5的实际例子,这个例子只是简单的调用了window.navigator.getlocation下面的getCurrentPosition()方法,具体的代码实例如下:

在这个实例中只是简单的对获取地理位置时采用的方法进行了一个处理。

2.多媒体

  h5中的多媒体主要包括audio和video,在这之前市场上很多的关于视频的处理都使用的flash动画来处理,现在慢慢的flash都正在逐渐被取代。关于多媒体中的属性具体如下:

audio音频 1.controls有控制面板出现能够直接控制播放  2.autoplay能够实现音频在刷新时自动播放
                3.preload(none/metadata/auto) 规定是否在页面加载后载入视频  none 表示不需要加载数据
                metadata 原数据 诸如加载时长,比特率,帧数率这样的原数据而不是媒体内容需要加载
                auto 浏览器应该加载它认为适量的媒体内容
                4.loop 是否循环播放音/视频
                5.poster(video独有) 当视频不可以使用时,使用一张图片代替 poster = './' 否则就会是空白
                通常都会将帧数率为0的第一张图片作为poster内容,防止视频内容没有被加载出来时有内容展示

<audio src="./name.mp3" controls autoplay preload="auto"></audio>
 多资源整合 
        <audio id="music">
            <source src="name.mp3" type="audio/mpeg">
            <source src="name.ogg" type="audio/ogg">
        </audio>

在上面的这段代码中主要是通过直接在html结构上直接添加,我们也可以通过js动态的生成然后再来进行添加。在动态的创建过程中有两种方式来对其进行处理:

第一种创建方式:var audio = new Audio('./name.mp3');
        audio.controls = true;
        audio.loop = true;
        audio.autoplay = true;
        audio.preload = "auto";
        document.body.appendChild(audio);

第二种创建方式:var audio = document.createElement('audio');
        audio.src = "./name.mp3";
        document.body.appendChild(audio);
         //有两种方式可以代替1.audio.controls = true; 2.audio.controls = "controls";
        audio.controls = true;
        audio.loop = true;
        audio.autoplay = true;
        audio.preload = "auto";

输出文件地址
            console.log(audio.currentSrc);
    播放方法Play
            audio.play();
暂停方法pause
            audio.pause();
重新加载视频,用于更改来源或者是其他设置以后对音频或者视频进行重新加载
            audio.load();
设置音频或者是视频的音量在小 volume的范围在0 到 1之间,当超过范围时就会报错
       audio.muted = true 设置时,音频为静音,当其为false时,音频恢复之前的音量
播放倍速控制,当降低或者加快到一定倍速时,音频或者是视频就会自动的停止
           playbackRate 1为正常播放速度,大于1为加快,小于1为回放,现在一般不会有此功能出现,都是通过进度条展示
            audio.playbackRate = 4;
currentTime/duration属性
        currentTime 设置或者返回当前音频或者视频的播放位置
 audio.currentTime = 50;
            audio.currentTime返回当前音频播放时间
返回当前音频总的播放时间为多少
            console.log(audio.duration);

TimeRanges对象,有三个属性played属性返回当前已经播放的时间段,buffered属性返回当前已经缓冲过的时间段,seekable
返回用户跳转的时间段,三个属性都是TimeRanges的对象,每个对象都有一个length属性以及start()和end()方法,length表示
当前的一个时间段,start()和end()分别返回起始时间点和结束时间点(单位是秒)

paused/seeking/ended 这三个属性用来查询媒播放状态,pause为true表示播放器停止,seeking为true表示播放器正在调到一个新的播放点
如果播放器播放并且停下来,则ended属性为true

事件 play开始播放触发,pause暂停触发 loadedmetadata 浏览器获取完媒体的原数据触发 loadedadata 浏览器已经加载完当前帧数据准备触发
ended 当前播放结束后触发

h5地理位置获取与多媒体相关推荐

  1. IOS 根据地理位置获取坐标或根据坐标获取地理位置

    根据地理位置获取坐标: CLGeocoder * grader =[[CLGeocoder alloc]init]; [groder geocodeAddressString:@"要获取坐标 ...

  2. H5中获取微信头像、昵称

    H5中获取微信用户资料的方式有两种,第一种是默认登录方式,即不需要弹出授权框,只会有一个"正在登录"的弹窗,这种方式获取到的数据仅限于该用户已经关注了对应公众号之后,如果是未关注公 ...

  3. 微信小程序--地理位置获取、导航

    首先在app.json声引入 "permission": {"scope.userLocation": {"desc": "确认自 ...

  4. 微信公众号H5页面获取用户昵称头像等信息(Java)

    H5页面获取微信用户信息操作流程 (一)获取微信权限,由微信用户确认 (二)获取相应的ACCESS_TOKEN和OPENID信息 (三)根据ACCESS_TOKEN和OPENID信息获取相应的用户信息 ...

  5. 淘宝H5接口获取app数据6.0格式

    淘宝H5接口获取app数据6.0格式 公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secret String 是 调用密钥 api_na ...

  6. 腾讯地图H5位置获取

    腾讯地图H5位置获取 直接ctrl+c 就行了 直接打开 <!DOCTYPE html> <html> <head><meta http-equiv=&quo ...

  7. Java实现根据地理位置获取经纬度

    根据数据库中的地理位置信息,批量生成坐标信息,并插入新的表中. import com.alibaba.fastjson.JSONObject; import com.github.pagehelper ...

  8. java 微信定位到市_java 微信公众号地理位置获取

    [实例简介] [实例截图] [核心代码] wx.config({ appId: '${appId}', timestamp: parseInt("${timestamp}",10) ...

  9. 百度地图JavaScript API获取用户当前经纬度和详细地理位置,反之通过详细地理位置获取当前经纬度...

    前言: 前段时间刚好使用了百度地图的js api定位获取用户当前经纬度并获取当前详细位置和通过当前用户详细地理位置换取用户当前经纬度坐标的功能,为了方便下次找起来方便一些自己在这里记录一下,希望也能够 ...

最新文章

  1. Failed at the node-sass@4.14.0 postinstall script. npm ERR! This is probably not a problem with npm
  2. python数据插值_【Python】【数据分析】缺失值处理——插值
  3. 非常有用的15个Linux 服务器监控命令
  4. C指针原理(5)-ATT汇编
  5. Nginx动静分离-tomcat
  6. idea安装Maven Helper
  7. SpringIOC的依耐注入DI---set注入---constructor有参构造注入---了解P命名空间---了解SpEL
  8. 【反爬】某网站雪碧图反爬
  9. 15 错误边界与使用技巧
  10. 【分块】区间众数(金牌导航 分块-1)
  11. html引入latex,如何在html文件中使用MathJax或LaTex?
  12. bond4 交换机配置_CentOS 网卡配置bond4(LACP)
  13. 浙江大学生计算机竞赛,浙江省第十二届大学生程序设计竞赛成功举行
  14. iOS 内存泄漏的常见场景
  15. centos yum 安装mysql
  16. python如何升级_python pip如何升级
  17. pdf批量添加图章_1分钟学会制作电子公章,三步搞定,轻松在PDF文件中添加公章图片...
  18. PriorityQueue优先队列
  19. Win10安装Eclipse以及可能出现的问题
  20. mysqli_fetch_all() 函数

热门文章

  1. 黑色玫瑰服务器维护时间,2013年10月8日定期维护公告
  2. 服装MES行业知识积累
  3. 一款大型多人在线实时经济战略的 EOS 游戏——探矿者(Prospectors)
  4. 教你如何快速将音频文件AAC转换成MP3格式
  5. 威洛特:狗狗哮喘会出现哪些症状,如何去有效预防?
  6. html怎么让图片并排3个,Html和CSS我如何可以并排3个div
  7. 自己动手做一个上传JSPatch补丁代码的Mac应用
  8. 备战电设 滚球控制系统——机械结构
  9. 牛腩新闻发布系统——制作母板页
  10. 第5篇白板之图片旋转标记做成箭头(一)