小编An *_*ion的帖子

Scala对未来和选项的理解

object Main extends App {
  val p1 = Promise[Option[String]]()
  val p2 = Promise[Option[String]]()
  val f1 = p1.future
  val f2 = p2.future

  val res = (for{
    file1Opt <- f1
    file2Opt <- f2
    file1 <- file1Opt
    file2 <- file2Opt
  } yield {
    combineFiles(file1, file2)
  }).fallbackTo(Future.successful("Files not found"))

  Thread.sleep(2000)
  println("XXXXXXXXXXXXXXXXXXX")

  p1.success(Some("file one"))
  p2.success(Some("file two"))

  val finalData = res.map(s =>
    s + " " + "add more data to the file"
  ) 

  finalData.map(println(_))

  def combineFiles(f1: String, f2: String): String = {
    f1 + " …
Run Code Online (Sandbox Code Playgroud)

scala future for-comprehension scala-option

8
推荐指数
2
解决办法
5345
查看次数

如何在scala中为字符串正确生成SHA-256校验和?

我需要从一个字符串生成一个SHA-256校验和,该字符串将作为get参数发送.

如果找到此链接以生成校验和.

像这样生成校验和:

  val digest = MessageDigest.getInstance("SHA-256");      
  private def getCheckSum() = {
    println(new String(digest.digest(("Some String").getBytes(StandardCharsets.UTF_8))))        
  }
Run Code Online (Sandbox Code Playgroud)

打印校验和类似于:

*??¼?]9AòdJb:#?o6?T?B5C?¼O~??àÿG
Run Code Online (Sandbox Code Playgroud)

我们需要发送它的API说校验和应该如下所示:

45e00158bc8454049b7208e76670466d49a5dfb2db4196
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

请指教.谢谢.

scala sha

5
推荐指数
2
解决办法
6704
查看次数

HTML5音频:createMediaElementSource中断音频输出

我正在学习webgl,并且正在阅读教程,以从mp3文件中提取频率,以便可以对其进行可视化。

我有给定mp3文件的地方播放文件。但是,如果我尝试使用createMediaElementSource连接到AudioContext的分析仪来获取频率数据,则它将无法正常工作。

小提琴

JS:

window.onload = function(e) {       
    document.getElementById('music-files').addEventListener('change', selectMusic, false);
}

var musicFiles = [];
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var audio;
var audioSrc;
var analyser;
var bufferLength;
var dataArray;

function selectMusic(e) {   
    musicFiles = e.target.files;    
}

function getFreq(){
    requestAnimationFrame(getFreq);
    analyser.getByteFrequencyData(dataArray);
    console.log(">>>>>>>>>>>>>>>");
    console.log(dataArray[240])
}

function play(){    
    var num = Math.floor(Math.random()*musicFiles.length);
    console.log("playing=" + num);
    var musicFile = URL.createObjectURL(musicFiles[num]); 
    $("#music").attr("src", musicFile);
    document.getElementById('music').play();

    audio = document.getElementById('music');
    audioSrc = audioCtx.createMediaElementSource(audio);    
    analyser = audioCtx.createAnalyser();
    audioSrc.connect(analyser);
    bufferLength …
Run Code Online (Sandbox Code Playgroud)

html5-audio web-audio-api

2
推荐指数
1
解决办法
1427
查看次数