我正在为Android编写一个应用程序来调高音量并播放45秒的歌曲然后停止.这很好,但是我只能将音量提高到50%,有没有办法使用setVolume()将音量调高到100%?
这是我的代码:
final MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);
//plays eye of the tiger for 45 seconds
if (messages.contains("MUSIC ONLY")){
//turn up the volume
mp.setVolume(20, 20);
mp.start();
//play ring tone for 45 seconds
new Timer().schedule(new TimerTask() {
@Override
public void run() {
mp.stop();
}
}, 45000);
}
Run Code Online (Sandbox Code Playgroud) 我的类中有一个私有变量Student定义为:
const int studentNumnber;
Run Code Online (Sandbox Code Playgroud)
我正在尝试为学生编写一个复制构造函数,我需要抛弃constness来执行此操作,遗憾的是我不明白如何使用std::const_cast.
这是我在我的复制构造函数中尝试做的事情:
Student(const Student & s)
: Person(p.getName(), p.getEmailAddress(), p.getBirthDate()), school(0), studentNumber(0) {
school = new char[strlen(s.school) + 1];
strcpy_s(school, strlen(s.school) + 1, s.school);
const_cast<int*>(this)->studentNumber = s.studentNumber;
//studentNumber = s.studentNumber);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用......我不确定这样做的语法是什么.
我刚下载并安装了Android studio 0.4.2并加载了一个android项目.这个项目给了我这个错误:
Cause: failed to find target android-17
Please install the missing platform from the Android SDK Manager.
Run Code Online (Sandbox Code Playgroud)
太棒了,我现在将进入SDK管理器,并获得缺少的平台.唯一的问题是,我无法访问SDK Manager.SDK管理器按钮是灰色的,当我去工具时,没有android的选项,所以我不能去toold
关于如何解决这个问题的任何想法?我之前使用过Eclipse和Eclipse,从来没有遇到过这个问题......
我努力学习计划,我有一个很难理解的区别map和apply.
据我所知,map将函数应用于列表的每个元素,apply并将一些内容应用于过程的参数.
它们可以互换使用吗?
我不确定我使用的是正确的术语,但问题是我如何正确地创建一个将字符串作为参数的构造函数?
我习惯const char *在构造函数中使用而不是字符串.
通常我会做这样的事情:
Name(const char* fName, const char* lName)
: firstName(0), lastName(0)
{
char * temp = new char [strlen(fName) + 1];
strcpy_s(temp, strlen(fName) + 1, fName);
firstName = temp;
char * temp2 = new char [strlen(lName) + 1];
strcpy_s(temp2, strlen(lName) + 1, lName);
lastName = temp2;
}
Run Code Online (Sandbox Code Playgroud)
如果构造函数是这样的:
Name(const string fName, const string lName) { }
Run Code Online (Sandbox Code Playgroud)
我还在做基本成员初始化吗?我还需要在构造函数的基础上使用字符串副本吗?
我需要搜索一个字符串并编辑它的格式.
到目前为止,我可以替换第一次出现的字符串,但是我无法在下一次出现此字符串时这样做.
这就是我的工作,有点像:
if(chartDataString.find("*A") == string::npos){ return;}
else{chartDataString.replace(chartDataString.find("*A"), 3,"[A]\n");}
Run Code Online (Sandbox Code Playgroud)
如果找不到字符串,则根本不打印任何内容,因此不好.
我知道我需要遍历整个字符串chartDataString并替换所有出现的事件.我知道有很多类似的帖子,但我不明白(像这样用另一个子串C++替换子串)
我也尝试过这样的事情来循环遍历字符串:
string toSearch = chartDataString;
string toFind = "*A:";
for (int i = 0; i<toSearch.length() - toFind.length(); i++){
if(toSearch.substr(i, toFind.length()) == toFind){
chartDataString.replace(chartDataString.find(toFind), 3, "[A]\n");
}
}
Run Code Online (Sandbox Code Playgroud)
编辑考虑到建议,这在理论上应该有效,但我不知道为什么不这样做
size_t startPos=0;
string myString = "*A";
while(string::npos != (startPos = chartDataString.find(myString, startPos))){
chartDataString.replace(chartDataString.find(myString, startPos), 3, "*A\n");
startPos = startPos + myString.length();
}
Run Code Online (Sandbox Code Playgroud) 我正在进行字符串解析,基本上我想做的是这样的:
string signature = char[index+1] + '/' + char[index+2];
Run Code Online (Sandbox Code Playgroud)
但是你不能在char上进行字符串连接,这样就可以解决这个问题,我怎样才能模拟char的串联?
我知道C++中的字符串库已经附加但我不认为这适用于我的情况.有任何想法吗?
我正在学习期中考试,这是一个练习题:展示如何只使用二进制信号量和普通机器指令来实现计数信号量(即可以保持任意值的信号量)?
我甚至不确定从哪里开始.我在网上发现了这个;
P(s) { Pb(mutex_s); s = s-1; if(s < 0) {Vb(mutex_s); Pb(delay_s);} Vb(mutex_s); }
V(s) { Pb(mutex_s); s = s+1; if(s <= 0) Vb(delay_s); else Vb(mutex_s); }
Run Code Online (Sandbox Code Playgroud)
不幸的是,我真的不明白答案告诉我的是什么.任何人都可以向我解释这个答案,或者用伪代码告诉我如何回答?
我不能为我的生活弄清楚为什么我会得到这些错误,特别是因为我有包括警卫.
这些是我的错误(请忽略我命名的计算机):
1> main.obj:错误LNK2005:"class std :: basic_ostream >>&__cdecl operator <<(class std :: basic_ostream>&,class> Date&)"(?? 6 @ YAAAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ std @@ AAV01 @ AAVDate @@@ Z)已经>在loan.obj中定义
1> main.obj:错误LNK2005:"class std :: basic_ostream >>&__ cdecl operator <<(class std :: basic_ostream>&,class> Loan&)"(?? 6 @ YAAAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ std @@ AAV01 @ AAVLoan @@@ Z)已经>在loan.obj中定义
1> C:\ Users\SweetAssSarah\Documents\Visual Studio> 2012\Projects\ConsoleApplication4\Debug\a1.exe:致命错误LNK1169:找到一个或多个乘法>已定义的符号
这是我的4个文件:Main.cpp:
#ifndef _main_cpp
#define _main_cpp
#include<iostream>
#include "loan.h"
#include "date.h" …Run Code Online (Sandbox Code Playgroud) 我对Linux不是很熟练所以请耐心等待...
我正在尝试使用以下说明安装Node.js:
sudo apt-get update
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs=0.10.18-1chl1~precise1
Run Code Online (Sandbox Code Playgroud)
可在此处找到:https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
我运行这些命令,在最后一个命令后,我收到了这个错误:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:
The following packages have unmet dependencies:
nodejs : Conflicts: npm
E: Unable to …Run Code Online (Sandbox Code Playgroud) c++ ×5
string ×3
algorithm ×1
android ×1
char ×1
const-cast ×1
constructor ×1
node.js ×1
npm ×1
scheme ×1
sdk ×1
semaphore ×1
str-replace ×1
ubuntu ×1
volume ×1